如何在mvc中设置控制器中隐藏字段的值

时间:2013-06-01 08:39:10

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 asp.net-mvc-2

我想从控制器设置隐藏字段的值。我该怎么做?

在视图部分,我已经这样给了..

 <div>
@Html.Hidden("hdnFlag", null, new { @id = "hdnFlag" }) 
</div>

8 个答案:

答案 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" />

希望这会有所帮助......