从控制器访问视图(javascript)中的会话

时间:2015-01-10 07:52:43

标签: javascript c# asp.net-mvc-4

这是我的控制器代码。我希望在视图(javascript代码)中获取存储在会话中的值

      decimal.TryParse(permotion.PROMOTION_AMOUNT.ToString(), out promotionAmount);
      int.TryParse(permotion.PROMOTION_TYPE_ID.ToString(CultureInfo.InvariantCulture),
                                    out promotionTypeId);
      Session["PromotionAmount"] = promotionAmount;
      Session["TypeId"] = promotionTypeId;

查看代码是:

     var amount='@Session["PromotionAmount"]';
     var id='@Session["TypeId"]';
     alert(amount)
     alert(id)

但是这个java脚本代码返回空字符串。我如何在视图中检索会话值?提前谢谢。

2 个答案:

答案 0 :(得分:2)

您可以将值放在ViewModel / ViewData

ViewData["hdnFieldValue"] = "some value";

使用隐藏字符串存储在HTML

@Html.Hidden("hdnField", ViewData["hdnFieldValue"], new {@id = "hdnField"})

然后当通过JS

加载文档时
var myValue = document.GetElementById(hdnFieldValue)

答案 1 :(得分:1)

该代码没有问题。它会工作正常。我在我的页面中使用的。使用Convert.ToString(Session["value"])。即使它不起作用,检查天气会话是否有价值。