您的位置:首页 > Web前端 > HTML

在mvc中 怎么给@Html.HiddenFor()赋值

2015-10-08 22:45 225 查看
@Html.HiddenFor(model=>model.CreatedBy,new{@value=currentInfo.UserID})value始终是null
@Html.TextBoxFor(model=>model.CreatedBy,new{@value=currentInfo.UserID})
这样子value就会有值


把value的V改大写就可以了
@Html.HiddenFor(model=>model.RenyuanID,new{@Value=@ViewData["renyuanID"]}


http://codego.net/334085/
1.你有一个视图模型,而不是ViewData的?强类型的辅助与结束[code]For
并采取了lambda表达式不能与弱类型结构,如工作
ViewData
。个人而言,我不要'的ViewData/ViewBag。我定义视图模型,并有我的控制器动作通过这些视图模型我的views。例如,在你的情况我会定义一个视图模型:[/code]
publicclassMyViewModel
{
[HiddenInput(DisplayValue=false)]
publicstringCRN{get;set;}
}

有我的控制器动作填充此视图模型:

publicActionResultIndex()
{
varmodel=newMyViewModel
{
CRN="foobar"
};
returnView(model);
}

再有我强类型视图[code]EditorFor
助手:[/code]
@modelMyViewModel
@Html.EditorFor(x=>x.CRN)

这将

<inputid="CRN"name="CRN"type="hidden"value="foobar"/>

在生成的HTML。
2.请记住第二to@Html.HiddenFor只会设定值时,它无法找到路径或模式匹配的数据字段。达林是正确的CodeGo.net,使用视图模型。
3.我相信这是一个简单的解决方案。您[code]Html.Hidden
而不是
Html.HiddenFor
。看:[/code]
@Html.Hidden("CRN",ViewData["crn"]);

这将创建一个[code]INPUT
的标签
type="hidden"
,与
id="CRN"
name="CRN"
,和里面的正确值
value
属性。希望它可以帮助!
4.在MVC4以下工作[/code]
@Html.HiddenFor(x=>x.CRN,new{@Value="1"});

你需要在@价值一资'V'这里是我的模型

publicintCRN{get;set;}

这里是输出的是当你看到在浏览器

<inputvalue="1"data-val="true"data-val-number="ThefieldCRNmustbeanumber."data-val-required="TheCRNfieldisrequired."id="CRN"name="CRN"type="hidden"value="1"/>

这里是

[HttpPost]
publicActionResultMyMethod(MyViewModelviewModel)
{
intcrn=viewModel.CRN;
}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: