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

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

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

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

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

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相关文章