Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 我不知道';在asp.net mvc中无法获取html帮助程序的复选框_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 我不知道';在asp.net mvc中无法获取html帮助程序的复选框

Asp.net mvc 我不知道';在asp.net mvc中无法获取html帮助程序的复选框,asp.net-mvc,Asp.net Mvc,我不知道为什么要实现Html.CheckBoxFor(x=>x.IsChecked)helper。为什么它强制您必须使用bool值 据我所见,常规html输入可以有任何字符串的“值”。那么为什么html助手会限制您呢 我现在遇到了一个问题,我想更改的“值”来存储我的GUID,但因为它只接受bool,所以我不能这样做 我看到其他人用HiddenFor()来回避这个问题,但我觉得这很奇怪。这是因为复选框通常有两种状态:选中和未选中。这是一个完美的布尔模型。现在我理解了您的痛苦,并同意您的看法,这可能

我不知道为什么要实现
Html.CheckBoxFor(x=>x.IsChecked)
helper。为什么它强制您必须使用
bool

据我所见,常规html输入可以有任何
字符串的
“值”
。那么为什么html助手会限制您呢

我现在遇到了一个问题,我想更改
的“值”
来存储我的GUID,但因为它只接受
bool
,所以我不能这样做


我看到其他人用
HiddenFor()
来回避这个问题,但我觉得这很奇怪。

这是因为复选框通常有两种状态:选中和未选中。这是一个完美的布尔模型。现在我理解了您的痛苦,并同意您的看法,这可能有点限制,因为底层的
HTML元素允许潜在的任何类型。但是,只需向视图模型中添加一个布尔属性,然后将CheckBoxFor帮助程序绑定到此属性,就可以很容易地解决此限制。

下面是一个答案,有人创建了自己的扩展,它可能对您有用:以稍微不同的方式声明它,
CheckBoxFor()
helper正在将布尔值绑定到复选框状态,而不是值。@Darin Dimitrov-这就是我现在拥有的,我的ViewModel中有一个布尔值。奇怪的是,我必须使用HiddenFor()来保存ID,所以我也知道这一点。如果可以,它将全部位于一个控件中。@chobo2,我同意你的观点,在某些情况下,可以方便地绑定到bool以外的其他类型。