ASP.Net MVC Array of Hidden fields -
i sending list<> view, , turning list array of hidden fields. being done using partial view, build table.
<%@ control language="c#" inherits="system.web.mvc.viewusercontrol<budgiemoneysite.models.transactionsplitline>" %> <tr> <td> <%=model.category %> <%=html.hiddenfor(x => x.categoryid)%> </td> <td> <%=model.subcategory %> <%=html.hiddenfor(x => x.subcategoryid)%> </td> <td> <%=model.amount %> <%=html.hiddenfor(x => x.amountvalue)%> </td> </tr>
i have have x number of rows.... hoping can values hidden fields array. have field in model, defined public string[] categoryids { get; set; }
(i think issue may around hidden field being called 'categoryid' , mu model wanting 'categoryids').
when rendered, see have row looks this:
<tr> <td> medical <input id="transactionsplitlines_2__categoryid" name="transactionsplitlines[2].categoryid" type="hidden" value="6" /> </td> <td> on counter medicines <input id="transactionsplitlines_2__subcategoryid" name="transactionsplitlines[2].subcategoryid" type="hidden" value="22" /> </td> <td> 111 <input id="transactionsplitlines_2__amountvalue" name="transactionsplitlines[2].amountvalue" type="hidden" value="0" /> </td>
i trying data in controller this:
[httppost] public actionresult accounttransaction(accounttransactionview model) { var reply = createmodel(model); if (model.categoryids != null) { (int = 0; < model.categoryids.count(); i++ ) { reply.transactionsplitlines.add(new transactionsplitline { amount = "100", category = services.categoryservices.getcategorybyid(int.parse(model.categoryids[i])).description, subcategoryid = model.selectedcategoryid, subcategory = services.subcategoryservices.getsubcategorybyid(model.selectedsubcategoryid).description }); } } reply.transactionsplitlines.add(new transactionsplitline { amount = model.amount, category = services.categoryservices.getcategorybyid(model.selectedcategoryid).description, subcategory = services.subcategoryservices.getsubcategorybyid(model.selectedsubcategoryid).description, categoryid = model.selectedcategoryid, subcategoryid = model.selectedsubcategoryid }); return view("accounttransaction", reply); }
but categoryids null...
how can reference hidden fields, when name 'transactionsplitlines[2].subcategoryid' (which 2nd row, think). think have naming issue, , getting tangled... can assit?
edit: here's accounttransactionview class..
public class accounttransactionview { public accounttransactionview() { transactionsplitlines = new list<transactionsplitline>(); } [displayname("bank account")] public ienumerable<selectlistitem> accounts { get; set; } [displayname("cost center")] public ienumerable<selectlistitem> costcenters { get; set; } [displayname("payee")] public ienumerable<selectlistitem> payees { get; set; } [displayname("transaction type")] public list<transactiontypeview> transactiontypes { get; set; } public int selectedaccountid { get; set; } public int selectedcostcenterid { get; set; } public int selectedpayeeid { get; set; } [displayname("category")] public int selectedcategoryid { get; set; } [displayname("sub category")] public int selectedsubcategoryid { get; set; } public int selectedtransactiontypeid { get; set; } [displayname("budget")] public int selectedbudgetid { get; set; } [displayname("transaction date")] public datetime transactiondate { get; set; } [displayname("transaction date")] public string formatteddatetime { { return transactiondate.tostring("dd/mm/yyyy"); } } public int transactionid { get; set; } public bool deleted { get; set; } public list<transactionsplitline> transactionsplitlines { get; set; } public string amount { get; set; } }
Comments
Post a Comment