Asp.net mvc 4 如何在Razr MVC中设置隐藏字段的值

Asp.net mvc 4 如何在Razr MVC中设置隐藏字段的值,asp.net-mvc-4,razor,Asp.net Mvc 4,Razor,在我的应用程序中,我需要将一些值从一个页面(从A页到B页)传递到另一个页面。 为此,我使用了会话变量(我不能使用Tempdata,因为它不适用于负载平衡)。 在A页中,我正在设置会话变量。 在第B页中,我需要检索上面的会话变量。 为此,我在B页中使用了一个隐藏字段。 我不知道如何将会话变量设置为B页中的隐藏字段 A页 B页 在“页面B”的控制器中,将ViewBag.MyValue设置为会话变量,并将其应用于隐藏的值 控制器 ViewBag.MyValue = Session["MYVALUE"

在我的应用程序中,我需要将一些值从一个页面(从A页到B页)传递到另一个页面。 为此,我使用了会话变量(我不能使用Tempdata,因为它不适用于负载平衡)。 在A页中,我正在设置会话变量。 在第B页中,我需要检索上面的会话变量。 为此,我在B页中使用了一个隐藏字段。 我不知道如何将会话变量设置为B页中的隐藏字段

A页 B页

在“页面B”的控制器中,将
ViewBag.MyValue设置为会话变量,并将其应用于隐藏的值

控制器

ViewBag.MyValue = Session["MYVALUE"];
查看

<input type="hidden" value="@ViewBag.MyValue" id="hdnfilename" />
您也可以在负载平衡中处理
Session
变量。保护存储会话变量的最佳方法是将会话模式配置的状态更改为
StateServer

在“页面B”的控制器中,为会话变量设置一个
ViewBag.MyValue
,并将其应用于隐藏的值

控制器

ViewBag.MyValue = Session["MYVALUE"];
查看

<input type="hidden" value="@ViewBag.MyValue" id="hdnfilename" />

您也可以在负载平衡中处理
Session
变量。保护存储会话变量的最佳方法是将会话模式配置的状态更改为
StateServer

会话变量的全部要点是不需要隐藏字段。您是否正确设置了外部会话存储?如何在javascript(jquery)中调用会话字段?会话是一个服务器端变量,您无法从客户端(javascript)获取它。使用会话变量的全部意义在于,对于给定的用户,它们在页面之间可用。为什么你认为你需要一个隐藏的字段?此外,您可能应该使用Html帮助程序进行输入。听起来您根本不应该使用会话。会话变量的全部要点是您不需要隐藏字段。您是否正确设置了外部会话存储?如何在javascript(jquery)中调用会话字段?会话是一个服务器端变量,您无法从客户端(javascript)获取它。使用会话变量的全部意义在于,对于给定的用户,它们在页面之间可用。为什么你认为你需要一个隐藏的字段?此外,您可能应该使用Html帮助程序进行输入。听起来您根本不应该使用会话。谢谢您的详细解释。但它不起作用。这里的“钥匙”是什么?为什么我需要钥匙?这是我的控制器代码…..public JsonResult GetSessionVarValue(string orgfilename){返回Json(新的{key=orgfilename,value=Session[“orgfilename”]},JsonRequestBehavior.AllowGet);}此操作计划用于获取任何会话变量。
key
参数是
会话
集合中的键的名称。您可以用
Session[key]
替换
Session[“OrgFileName”]
,并将字符串“OrgFileName”作为参数传递给操作。使用HTTP GET,您的URL将是
/GetSessionVarValue?key=OrgFileName
,感谢您的详细解释。但它不起作用。这里的“钥匙”是什么?为什么我需要钥匙?这是我的控制器代码…..public JsonResult GetSessionVarValue(string orgfilename){返回Json(新的{key=orgfilename,value=Session[“orgfilename”]},JsonRequestBehavior.AllowGet);}此操作计划用于获取任何会话变量。
key
参数是
会话
集合中的键的名称。您可以用
Session[key]
替换
Session[“OrgFileName”]
,并将字符串“OrgFileName”作为参数传递给操作。使用HTTP GET,您的URL将是
/GetSessionVarValue?key=OrgFileName
// Controller code
[HttpGet]
public JsonResult GetSessionVarValue(string key)
{
    return Json(new { key = key, value = Session[key] }, JsonRequestBehavior.AllowGet);
}

// JavaScript code
var mySessionValue;
$.getJSON("/GetSessionVarValue", "MYKEY", function(data) {
    mySessionValue = data.value;
});