如何使用SelectedWebSite1URL属性的值设置此复选框的值?
@model WLWeb.Models.MyModel
...
<label>@Html.CheckBoxFor(m => m.MyModel.SelectedWebSite1, new { @id = "chk1", @class = "chkWebSite", value = "HowDoIsetThis?" })@Html.DisplayFor(m => m.MyModel.SelectedWebSite1Name)</label>
模型:
public class MyModel
{
...
public bool SelectedWebSite1 { get; set; }
public string SelectedWebSite1Name { get; set; }
public string SelectedWebSite1URL { get; set; }
}
注意:我需要这个的原因是用jquery获取值(网址url):
$(function () {
$('#btnGoSite').click(function () {
$('.chkWebSite:checked').each(function () {
alert(this.value);
});
});
});
答案 0 :(得分:2)
我认为你误解了checkbox
。 checkbox
用于布尔值(true
或false
)而非字符串。
适用于public bool SelectedWebSite1 { get; set; }
,但不适用于public string SelectedWebSite1URL { get; set; }
如果您想访问SelectedWebSite1URL
,请在隐藏输入中呈现其值并使用类似的内容(假设隐藏输入位于复选框之后)
$(function () {
$('#btnGoSite').click(function () {
$('.chkWebSite:checked').each(function () {
alert($(this).next('input[type="hidden"]').val());
});
});
});
答案 1 :(得分:1)
删除MyModel
<label>@Html.CheckBoxFor(m => m.SelectedWebSite1, new { @id = "chk1", @class = "chkWebSite", value = "yourvaluehere?" })
@Html.DisplayFor(m => m.SelectedWebSite1Name)</label>
答案 2 :(得分:-1)
试试这个
<label>
@Html.CheckBoxFor(x => x.SelectedWebSite1,new { @id = "chk1", @class = "chkWebSite"})
@Html.DisplayFor(m => m.MyModel.SelectedWebSite1Name)
</label>
无需在html对象属性中设置值,因为复选框将根据SelectedWebSite1的值为true / false自动检查/取消选中。