asp.net - Passing a List of Radio buttons objects to my Action Method -
i working on security metrix page similar below:- 
currently have following code inside view:-
@foreach(var item in model.permisionlevel.orderbydescending(a=>a.permisionsize)){ <th> </th>} </tr> @{ int =0 ; foreach (var item2 in model.technologytype.orderby(a=>a.name)) { <tr> <td class="f"> @item2.name </td> @foreach (var item3 in model.permisionlevel.orderbydescending(a=>a.permisionsize)) { <td class="f"> @html.radiobutton(item2.name, item3.permisionlevelid) @html.hidden("assettypeid" , item2.assettypeid) @html.hidden("permisionlevelid",item3.permisionlevelid) @html.hidden("securityroleid",model.securityrole.securityroleid) </td> } </tr> } } and following actionmethod:-
[httppost] public actionresult assignpermisionlevel(icollection<securityroletypepermision> list) { foreach (var c in list) { repository.insertorupdatesecurityroletypepermisions(c); } repository.save(); return redirecttoaction("index"); } but not sure how can pass associated hidden field values if related radio button checked. if submit view , action method raise null exception? can advice on how fix ?
each radio group has name, looks item2.name.
// see if group selected var radwebsite = $('[name="somename"]:checked'); if (radwebsite.length > 0) { // group has selection, value var websiteval = radwebsite.val(); } if of answers variables or object, can pass down action method, here suggestion
$('#saveclick').click(function() { var savepermissions = {}; savepermissions.website = websiteval // variable above // .... each radio group var dto = { 'dto': savepermissions }; $.ajax({ type: "post", contenttype: 'application/json;charset=utf-8', url: "/controllername/actionmethodname", datatype: "json", data: json.stringify(dto), success: function (data) { // success stuff }, error: function(data){ // error stuff }, complete: function () { //do final stuff } }); }); then in action method create class has property each item put in savepermissions on javascript, should call savepermissions
public actionresult assignpermisionlevel(savepermissions dto){ // save stuff } *edit: * didn't think before, have reference newtonsoft.json in our application, you'll need this...
Comments
Post a Comment