加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 18:41:06 所属栏目:asp.Net 来源:网络整理
导读:我可以用 @Html.HiddenFor(x= ViewData["crn"]) 但是,我得到, input id =“ViewData_crn_”name =“ViewData [crn]”type =“hidden”value =“500”/ 为了避免这个问题(id = ViewData_crn_和nam??e = ViewData [crn]),我尝试执行以下操作,但是没有设置
我可以用
@Html.HiddenFor(x=> ViewData["crn"])

但是,我得到,

< input id =“ViewData_crn_”name =“ViewData [crn]”type =“hidden”value =“500”/>

为了避免这个问题(id = ViewData_crn_和nam??e = 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="" />

我做错了吗?
谢谢

解决方法

你试过使用视图模型而不是ViewData吗?以“For”和“lambda”表达式结尾的强类型助手无法使用弱类型的结构(如ViewData)。

我个人不使用ViewData / ViewBag。我定义视图模型,并将我的控制器操作通过这些视图模型到我的视图。

例如在你的情况下,我将定义一个视图模型:

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

让我的控制器动作填充这个视图模型:

public ActionResult Index()
{
    var model = new MyViewModel
    {
        CRN = "foo bar"
    };
    return View(model);
}

然后我的强类型视图只是使用一个EditorFor帮助器:

@model MyViewModel
@Html.EditorFor(x => x.CRN)

这将产生我:

<input id="CRN" name="CRN" type="hidden" value="foo bar" />

在结果HTML中。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读