asp.net - Passing a List of Radio buttons objects to my Action Method -


i working on security metrix page similar below:- enter image description here

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

Popular posts from this blog

How to mention the localhost in android -

php - Calling a template part from a post -

c# - String.format() DateTime With Arabic culture -