c# - Error when passing data to my view? -
i creating website in asp.net mvc. working on page feature dropdowns created based upon users statistics. this, have set @html.dropdownlistfor uses increment system fulfill randomly generated system. in post method, can dropdown values calling rightsfor_1, , on shown below.
my problem when run program, error stated below occurring on @html.dropdownlistfor line of code.
snippit of code in view:
@for(int = 0; < model.labpermdata.count(); i++) { <div class="row"> <div class="col-md-2"> <b>@html.displayfor(m => m.labpermdata[i].lab.labname)</b> </div> <div class="col-md-2"> @html.dropdownlistfor(m=>"rightsfor_"+m.labpermdata[i].lab.labname, model.lpdd, "select one") </div> <div class="col-md-8"> </div> </div> } i trying access values in controller using this:
var value1 = request["rightsfor_0"]; var value2 = request["rightsfor_1"]; var value3 = request["rightsfor_2"]; //... , on error received:
templates can used field access, property access, single-dimension array index, or single-parameter custom indexer expressions.
you can't append strings in lambda expression that. add name attribute dropdown uses incremented name instead.
@html.dropdownlistfor(m=>m.labpermdata[i].lab.labname, model.lpdd, "select one", new { name = "rightsfor_" + m.labpermdata[i].lab.labname }) something else may able create string before putting in lambda.
@{ string rightsfor = "rightsfor_" + m.labpermdata[i].lab.labname; } @html.dropdownlistfor(m=>rightsfor, model.lpdd, "select one")
Comments
Post a Comment