在Javascript / jquery中不会修改C#属性值

前端之家收集整理的这篇文章主要介绍了在Javascript / jquery中不会修改C#属性值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Controller的构造函数中初始化一个属性. @H_403_2@public BookController() { SessionProvider.SessionLoadSceanrio = false; }

我有一个Action方法,它在按钮单击事件上再次重置属性.

@H_403_2@public ActionResult LoadScenario(int bookId) { SessionProvider.SessionLoadSceanrio = true; // remaining code return Json(ScenarioId,JsonRequestBehavior.AllowGet); }

以下javascript代码在我的视图中,单击按钮时会调用代码.

@H_403_2@var BookHandler = { $("#btnLoadScen").click(function (e) { $.ajax({ url: "@Url.Action("LoadScenario","Book")",dataType: 'json',type: 'POST',data: { 'bookId': BookHandler.getBookId() },success: function (response) { var scenarioId = response; var isLoadScenario = "@Portal.Presentation.Web.Planning.MVC.App_Start.SessionProvider.SessionLoadSceanrio"; //otherproperties window.open("@Url.Action("Index","BookScenario",new {loadScenario = "_loadScenario"}).replace('_loadScenario',isLoadScenario),tabId); },error: function () { } }); }); }

我的问题是当我单击按钮时,Controller中的属性值更改.但它在我的javascript代码中没有变化.请参阅开发人员工具的屏幕截图.

有没有人对此有所了解?

解决方法

您正在使用剃刀语法.然后最初页面加载,设置值,这些值是字符串,而不是变量.那么你不能再次更新会话值.

请从AJAX调用获取会话值并设置为您的变量.

猜你在找的jQuery相关文章