Asp.net mvc TextBox(HtmlHelper,String)-视图模型是否也在搜索值?
Pro Asp.Net MVC 4(第535页): 字符串参数用于搜索视图数据、视图包和视图 模型以查找可用作基本数据的相应数据项 对于输入元素。例如,如果你打电话Asp.net mvc TextBox(HtmlHelper,String)-视图模型是否也在搜索值?,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,Pro Asp.Net MVC 4(第535页): 字符串参数用于搜索视图数据、视图包和视图 模型以查找可用作基本数据的相应数据项 对于输入元素。例如,如果你打电话 @Html.TextBox(“DataValue”),MVC框架试图找到一些 与键数据值对应的数据项。以下 检查位置:•ViewBag.DataValue•@Model.DataValue 书中指出,Html.TextBox的重载(采用单个字符串参数)会同时检查ViewData和view model以获取显示值。但经过一点实验后,它
@Html.TextBox(“DataValue”)
,MVC框架试图找到一些
与键数据值对应的数据项。以下
检查位置:•ViewBag.DataValue•@Model.DataValue
书中指出,Html.TextBox的重载(采用单个字符串参数)会同时检查ViewData
和view model以获取显示值。但经过一点实验后,它似乎只检查ViewData
中的值,而不检查视图模型
因此,在从Html.TextBox
生成的输出中,value
属性被设置为空字符串:
*.cshtml:
@model HelperMethods.Models.Person
...
@Html.TextBox("FirstName")
输出:
...
<input id="FirstName" name="FirstName" type="text" value="" />
Index.cshtml:
@model Mvc4.Controllers.Person
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
@Html.TextBox("FirstName")
</body>
</html>
@model Mvc4.Controllers.Person
@{
布局=空;
}
指数
@Html.TextBox(“名字”)
非常感谢刚刚做了一个快速测试,似乎它必须是一个属性,而不是一个字段 因此,这应该是可行的:
public class Person
{
public string FirstName { get; set; }
}
是的。它不是强类型的,所以可能会发生错误,但如果使用正确,它应该引用您的model FirstName属性。请把你的整个表格都贴出来。是的,刚刚测试过,对我来说也很好。@Dave A:我贴了整个表格。请看update@SimonC例如我把整个表格都贴了。请查看更新beginform仍然缺少漂亮的捕获。我完全错过了!
@model Mvc4.Controllers.Person
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
@Html.TextBox("FirstName")
</body>
</html>
public class Person
{
public string FirstName { get; set; }
}