gpt4 book ai didi

asp.net-mvc - Html.HiddenFor 值属性未设置

转载 作者:行者123 更新时间:2023-12-04 06:25:51 24 4
gpt4 key购买 nike

我可以用

@Html.HiddenFor(x=> ViewData["crn"])

但是,我明白了,
<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"})

产生
<input id="CRN" name="CRN" type="hidden" value="" />
<input Value="500" id="CRN" name="CRN" type="hidden" value="" />

我做错了什么吗??
谢谢

最佳答案

您是否尝试过使用 View 模型而不是 ViewData?以 For 结尾的强类型助手并采用 lambda 表达式不能用于弱类型结构,例如 ViewData .

我个人不使用 ViewData/ViewBag。我定义了 View 模型并让我的 Controller 操作将这些 View 模型传递给我的 View 。

例如在你的情况下,我会定义一个 View 模型:

public class MyViewModel
{
[HiddenInput(DisplayValue = false)]
public string CRN { get; set; }
}

让我的 Controller 操作填充此 View 模型:
public ActionResult Index()
{
var model = new MyViewModel
{
CRN = "foo bar"
};
return View(model);
}

然后让我的强类型 View 简单地使用 EditorFor helper :
@model MyViewModel
@Html.EditorFor(x => x.CRN)

这会产生我:
<input id="CRN" name="CRN" type="hidden" value="foo bar" />

在生成的 HTML 中。

关于asp.net-mvc - Html.HiddenFor 值属性未设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6850174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com