我的MVC Telerik UI for ASP.NET存在很大问题 我试图获得一个布尔字段的复选框。我知道我们有两个输入字段,当未触摸该框时返回值false。 当我没有碰到CBox时,我得到的值是'假'。当我选中该框时,我也会得到错误,因为CBOx返回一个字符串=“true,false”,这使得无法直接转换为bool。
查看
public class role
{
public string role_name { get; set; }
public bool add_school { get; set; }
}
控制器
public ActionResult test()
{
return View();
}
[HttpPost]
public async Task<ActionResult> test(Models.role role)
{
var z = Request["cb_addschool"];
var x = 1;
return RedirectToAction("Index");
}
查看
@model Models.role
@using (Html.BeginForm("test", "Home", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
@Html.AntiForgeryToken()
<h2>Add a New Role</h2>
<hr />
@Html.ValidationSummary("", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(m => m.role_name, new { @class = "col-md-1 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(m => m.role_name, new { @class = "form-control form-control-big" })
</div>
</div>
<div class="form-group">
@Html.Kendo().CheckBoxFor(m=>m.add_school).Name("cb_addschool").Label("Add School")
</div>
<div class="form-group">
<div class="col-md-offset-3 col-md-9">
<input type="submit" class="btn btn-login" value="Register" />
</div>
</div>
}
请帮忙吗?
答案 0 :(得分:2)
从您的操作方法中删除此代码:
var z = Request["cb_addschool"];
您的角色模型中包含此值。所以在这种情况下这是毫无意义的。
从Kendo CheckBoxFor中删除此属性:
.Name("cb_addschool")
您不必需要(如果没有,属性将被正确绑定)。
小提示:如果您使用的是Kendo - 请使用Kendo().TextBoxFor
方法代替@Html.TextBoxFor
(或将“k-textbox
”类添加到TextBoxFor中 - 它将使用Kendo CSS样式。)
以下是一个例子:
@(Html.Kendo().TextBoxFor(model => model.role_name)
.HtmlAttributes(new { placeholder = "Select role", @class = "form-control form-control-big" })
)