我想从控制器设置隐藏字段的值。我该怎么做?
在视图部分我给出了这样的..
<div>
@Html.Hidden("hdnFlag", null, new { @id = "hdnFlag" })
</div>
我想从控制器设置隐藏字段的值。我该怎么做?
在视图部分我给出了这样的..
<div>
@Html.Hidden("hdnFlag", null, new { @id = "hdnFlag" })
</div>
您可以在中设置相应的值ViewData/ViewBag
:
ViewData["hdnFlag"] = "some value";
但是更好的方法当然是使用视图模型:
model.hdnFlag = "some value";
return View(model);
并在您的视图中使用强类型助手:
@Html.HiddenFor(x => x.hdnFlag, new { id = "hdnFlag" })
Please find code for respected region.
Controller
ViewBag.hdnFlag= Session["hdnFlag"];
View
<input type="hidden" value="@ViewBag.hdnFlag" id="hdnFlag" />
JavaScript
var hdnFlagVal = $("#hdnFlag").val();
如果没有视图模型,您可以使用简单的 HTML 隐藏输入。
<input type="hidden" name="FullName" id="FullName" value="@ViewBag.FullName" />
您需要在控制器上编写以下代码,假设测试是模型,名称、地址是该模型的字段。
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"})
这将自动设置隐藏值=约翰。
请尝试使用以下方式。
@Html.Hidden("hdnFlag",(object) Convert.ToInt32(ViewBag.page_Count))
如果您没有根据您的问题使用模型,您可以这样做
@Html.Hidden("hdnFlag" , new {id = "hdnFlag", value = "hdnFlag_value" })
否则,如果您使用的是模型(考虑到传递模型具有 hdnFlag 属性),您可以使用此方法
@Html.HiddenFor(model => model.hdnFlag, new { value = Model.hdnFlag})
如果您要像 id 一样重用该值,或者如果您只想保留它,您可以添加一个 "new{id = 'desiredID/value'}) 作为其参数,以便您可以通过 jquery/javascript 访问该值
@Html.HiddenFor(model => model.Car_id)
您可以使用ViewData[""]
.
ViewData["hdnFlag"] = userId;
return View();
现在,在你看来。
@{
var localVar = ViewData["hdnFlag"]
}
<input type="hidden" asp-for="@localVar" />
希望这会有所帮助...