10

これは、ラジオボタンとチェックボックスでバインドしているViewModelクラスです

public class MyListViewModel
{
    public bool Isselected { get; set; }
    public Int32 ID { get; set; }      
    public string EmpName { get; set; }
    
}

問題: コントローラー クラスのチェック ボックスで、バインドされたモデルの IsSelected プロパティが true であることがわかります。ただし、ラジオ ボタンの場合は常に false と表示されます。どんな助けでも大歓迎

チェックボックス

かみそりコード

 @Html.CheckBox(myListObj.Isselected.ToString(), myListObj.Isselected, 
  new { id = myListObj.Isselected.ToString() })

生成された HTML

 <input type="checkbox" value="true" name="myListObj[0].Isselected" id="22">
 <input type="hidden" value="false" name="myListObj[0].Isselected">

ラジオボタン

かみそり:

 @Html.RadioButton(myListObj.Isselected.ToString(), myListObj.ID, 
 myListObj.Isselected, new { id = myListObj.Isselected.ToString() }) 

HTML:

<input type="radio" value="6"
 name="myListObj[0].Isselected" id="myListObj[0].Isselected">

ここで何が問題になる可能性がありますか?

Edited: 
What could be the code for binding a model with multiselect radio button. 
I mean user can select more than one Employee from a list. 
I want to know what are the employees selected with the help of Model Binding 
class with the property IsSelected. Please suggest me the possible way.
4

1 に答える 1

1

valueラジオ ボタンのプロパティはサーバーに送信されるものであるため、この場合、値は送信されますが、サーバーはb/cに6固執できません。タイプは.6IsselectedIsselectedboolean

htmlをこれに変更する必要があります

@Html.RadioButton(myListObj.Isselected.ToString(), true, myListObj.Isselected, new { id = myListObj.Isselected.ToString() })

myListObj.IDjustに変更した方法に注意してくださいtrue。これは、「ユーザーがこのラジオボタンを選択した場合、値trueをサーバーに送信する」ことをブラウザに伝えます。

Isselectedまたは、 に変更して、値double?を引き続き使用することもできIDます。このように、ラジオ ボタンが選択されていない場合、サーバーにはnull;が表示されます。選択されている場合、サーバーには が表示されます6

于 2012-12-19T19:34:07.157 に答える