Sek*_*har 27 asp.net-mvc viewdata razor html.hiddenfor
我本来可以用的
@Html.HiddenFor(x=> ViewData["crn"])
Run Code Online (Sandbox Code Playgroud)
但是,我明白了,
<input id="ViewData_crn_" name="ViewData[crn]" type="hidden" value="500" />
以某种方式绕过那个问题(id=ViewData_crn_ and name=ViewData[crn]),我尝试了以下操作,但是"value"属性没有设置.
@Html.HiddenFor(x => x.CRN, new { @value="1"})
@Html.HiddenFor(x => x.CRN, new { @Value="1"})
Run Code Online (Sandbox Code Playgroud)
生成
<input id="CRN" name="CRN" type="hidden" value="" />
<input Value="500" id="CRN" name="CRN" type="hidden" value="" />
Run Code Online (Sandbox Code Playgroud)
我做错了什么?谢谢
Gud*_*ain 53
以下内容适用于MVC 4
@Html.HiddenFor(x => x.CRN, new { @Value = "1" });
Run Code Online (Sandbox Code Playgroud)
@Value属性区分大小写.你需要@Value上的大写'V'.
这是我的模特
public int CRN { get; set; }
Run Code Online (Sandbox Code Playgroud)
当您在浏览器中查看时,这是html中输出的内容
<input value="1" data-val="true" data-val-number="The field CRN must be a number." data-val-required="The CRN field is required." id="CRN" name="CRN" type="hidden" value="1"/>
Run Code Online (Sandbox Code Playgroud)
这是我的方法
[HttpPost]
public ActionResult MyMethod(MyViewModel viewModel)
{
int crn = viewModel.CRN;
}
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 38
您是否尝试过使用视图模型而不是ViewData?For以类型为弱的类型结构的强类型助手以其结尾并采用lambda表达式ViewData.
我个人不使用ViewData/ViewBag.我定义了视图模型,并让我的控制器操作将这些视图模型传递给我的视图.
例如,在您的情况下,我将定义一个视图模型:
public class MyViewModel
{
[HiddenInput(DisplayValue = false)]
public string CRN { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
让我的控制器操作填充此视图模型:
public ActionResult Index()
{
var model = new MyViewModel
{
CRN = "foo bar"
};
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
然后让我的强类型视图只使用一个EditorFor帮助器:
@model MyViewModel
@Html.EditorFor(x => x.CRN)
Run Code Online (Sandbox Code Playgroud)
哪会产生我:
<input id="CRN" name="CRN" type="hidden" value="foo bar" />
Run Code Online (Sandbox Code Playgroud)
在生成的HTML中.
我相信有一个更简单的解决方案.你必须使用Html.Hidden而不是Html.HiddenFor.看:
@Html.Hidden("CRN", ViewData["crn"]);
Run Code Online (Sandbox Code Playgroud)
这将在属性内部创建,使用和INPUT标记正确的值.type="hidden"id="CRN"name="CRN"value
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
104240 次 |
| 最近记录: |