次のように mvc html ヘルパー チェックボックスを使用します。
@Html.DropDownList(item.QuestionId.ToString(),
new SelectList(((DropDownList)item).Options, "OptionId", "Name"),
"Select Please")
そして、私が提出するとき、私の中で[http] controller
、私は値を得ることができます
[HttpPost]
public ActionResult TestList(FormCollection formCollection)
{
foreach (var res in formCollection.AllKeys)
{
string Selected = null;
Selected = formCollection[res];
}
しかし、たとえば「A」を選択するとAが得られますが、何も選択しないと(定義したように「選択してください」と表示されます)、それになりたいnull
のですが、今""
はそれが価値があることを意味します...私次のようにしたいだけです:何も選択しない場合は何も送信しません。AllKeysでもStringでも何も意味Selected
しません。選択しない場合、allkeysには何もありません。ありがとう
ps: 例:
foreach (var SubItem in ((RadioButtonList)item).Options)
{
@Html.RadioButton(item.SurveyItemId.ToString(), SubItem.OptionId) @SubItem.Name
}
質問のオプションが表示されます。Aを選択した場合、コントローラーからAを取得できます。Bを選択しなかったため、コントローラーのAllKeysにはB、C、またはDが含まれていないため、このようなドロップダウンリストが必要です。誰も選択しませんでした。B、C、D を選択しなかったのと同じように、"" などは表示されません。AllKeys には何も表示されません。