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

use*_*088 12 asp.net-mvc asp.net-mvc-3 asp.net-mvc-2 asp.net-mvc-4

我想从控制器设置一个隐藏字段的值.我怎么能这样做?

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

 <div>
@Html.Hidden("hdnFlag", null, new { @id = "hdnFlag" }) 
</div>
Run Code Online (Sandbox Code Playgroud)

Kru*_*nki 14

请查找受尊重地区的代码.

调节器

ViewBag.hdnFlag= Session["hdnFlag"];
Run Code Online (Sandbox Code Playgroud)

视图

<input type="hidden" value="@ViewBag.hdnFlag" id="hdnFlag" />
Run Code Online (Sandbox Code Playgroud)

JavaScript的

var hdnFlagVal = $("#hdnFlag").val();
Run Code Online (Sandbox Code Playgroud)


Dar*_*rov 13

您可以在以下位置设置相应的值ViewData/ViewBag:

ViewData["hdnFlag"] = "some value";
Run Code Online (Sandbox Code Playgroud)

但更好的方法当然是使用视图模型:

model.hdnFlag = "some value";
return View(model);
Run Code Online (Sandbox Code Playgroud)

并在您的视图中使用强类型帮助器:

@Html.HiddenFor(x => x.hdnFlag, new { id = "hdnFlag" })
Run Code Online (Sandbox Code Playgroud)


mok*_*aig 6

如果没有视图模型,您可以使用简单的HTML隐藏输入.

<input type="hidden" name="FullName" id="FullName" value="@ViewBag.FullName" />
Run Code Online (Sandbox Code Playgroud)


小智 5

您需要在控制器上编写以下代码,假设测试是模型,名称,地址是此模型的字段.

public ActionResult MyMethod()
{
    Test test=new Test();
    var test.Name="John";
    return View(test);   
}
Run Code Online (Sandbox Code Playgroud)

现在在你的视图中使用像这样的方法来给出隐藏变量的设定值.

@model YourApplicationName.Model.Test

@Html.HiddenFor(m=>m.Name,new{id="hdnFlag"})
Run Code Online (Sandbox Code Playgroud)

这将自动设置隐藏值= john.