我想从控制器设置隐藏字段的值。我该怎么做?
在视图部分,我已经这样给了..
<div>
@Html.Hidden("hdnFlag", null, new { @id = "hdnFlag" })
</div>
答案 0 :(得分:13)
请查找受尊重地区的代码。
控制器
ViewBag.hdnFlag= Session["hdnFlag"];
查看
<input type="hidden" value="@ViewBag.hdnFlag" id="hdnFlag" />
的JavaScript
var hdnFlagVal = $("#hdnFlag").val();
答案 1 :(得分:12)
您可以在ViewData/ViewBag
:
ViewData["hdnFlag"] = "some value";
但更好的方法当然是使用视图模型:
model.hdnFlag = "some value";
return View(model);
并在视图中使用强类型帮助器:
@Html.HiddenFor(x => x.hdnFlag, new { id = "hdnFlag" })
答案 2 :(得分:5)
您需要在控制器上编写以下代码 假设test是model,而Name,Address是该模型的字段。
public ActionResult MyMethod()
{
Test test=new Test();
var test.Name="John";
return View(test);
}
现在在你的视图中使用这样的方法来给出隐藏变量的设定值。
@model YourApplicationName.Model.Test
@Html.HiddenFor(m=>m.Name,new{id="hdnFlag"})
这将自动设置隐藏值= john。
答案 3 :(得分:5)
如果没有视图模型,您可以使用简单的HTML隐藏输入。
<input type="hidden" name="FullName" id="FullName" value="@ViewBag.FullName" />
答案 4 :(得分:3)
请尝试使用以下方式。
@Html.Hidden("hdnFlag",(object) Convert.ToInt32(ViewBag.page_Count))
答案 5 :(得分:2)
如果你没有根据你的问题使用模型,你可以这样做
@Html.HiddenFor("hdnFlag" , new {id = "hdnFlag", value = "hdnFlag_value" })
否则,如果您正在使用模型 (考虑传递模型有hdnFlag属性),你可以使用这个approch
@Html.HiddenFor(model => model.hdnFlag, new { value = Model.hdnFlag})
答案 6 :(得分:0)
如果您要将ID重用为ID,或者如果您想保留它,则可以添加&#34;新{id =&#39; desiredID / value&#39;})其参数使您可以通过jquery / javascript
访问该值@Html.HiddenFor(model => model.Car_id)
答案 7 :(得分:0)
您可以使用ViewData[""]
从控制器传输值。
ViewData["hdnFlag"] = userId;
return View();
现在,在你看来。
@{
var localVar = ViewData["hdnFlag"]
}
<input type="hidden" asp-for="@localVar" />
希望这会有所帮助......