我可以在HttpContext.Current.Application["MyData"]
存储一些来自javascript的内容吗?
答案 0 :(得分:1)
你可以这样做,但你不应该这样做,因为这完全是反MVC的做法,因为视图不应该是拉信息=>视图应仅使用从控制器操作以视图模型的形式传递给它们的信息:
<script type="text/javascript">
var myData = @Html.Raw(Json.Encode(ViewContext.HttpContext.Application["MyData"]))
</script>
显然,实现这一目标的正确方法是定义视图模型:
public class MyViewModel
{
public MyDataType MyData { get; set; }
}
然后是控制器动作:
public ActionResult Index()
{
var model = new MyViewModel
{
MyData = HttpContext.Application["MyData"] as MyDataType;
};
return View(model);
}
最后一个观点:
@model MyViewModel
<script type="text/javascript">
var myData = @Html.Raw(Json.Encode(Model.MyData))
</script>
答案 1 :(得分:0)
将其值存储在隐藏字段中,并从javascript中读取隐藏字段值,或者进行Ajax调用以读取它并将其作为json对象返回。
答案 2 :(得分:0)
行动中:
public ActionResult MyData()
{
ViewBag.MyData = HttpContext.Current.Application["MyData"];
return View();
}
在视图中:
<script>
var myData = @ViewBag.MyData;
</script>