【问题标题】:How to use JavaScript variable in Razor?如何在 Razor 中使用 JavaScript 变量?
【发布时间】:2013-08-02 07:20:04
【问题描述】:

我尝试将我的 JS 变量传递给 razor,我的脚本片段:

 select: function (event, ui) {                            
   var docID = ui.item.DoctorCode;

    @{ 
      string org_code = _unitOfWork.Doctors.GetById("").OrganizationCode;
     }

       doctorOrgLabel.text('@org_code'); 
    }

GetById() 方法中,我想传递JS 变量docID。如有任何帮助,我将不胜感激!

【问题讨论】:

  • 一旦你的视图被渲染,你就不会再与它交互了。所以你不能做你想做的事情,我知道。如果您需要基于所选值的更多数据或仅加载稍后可以引用的 json 对象,则需要设置 ajax 调用。
  • 谢谢!加载 json 对象对我有用!

标签: javascript asp.net-mvc razor


【解决方案1】:

我尝试将我的 JS 变量传递给 razor

这句话完全没有意义。

Razor 是运行在服务器上的 ASP.NET MVC 框架用来生成一些 HTML 模板的视图引擎。

另一方面,javascript 是在客户端上运行的客户端语言。一旦 HTML 模板呈现给客户端并开始执行 javascript,就不再有 Razor 之类的概念。

如果您想将一些 javascript 变量传递给服务器,您有几个选择:

  • 对服务器进行 AJAX 调用
  • 在表单内的某个隐藏字段中设置此变量的值并提交此表单
  • 使用window.location.href 重定向到服务器并将变量作为查询字符串参数传递
  • 将 javascript 变量存储在 cookie 中,该 cookie 将在后续请求中发送到服务器

【讨论】:

  • 非常感谢,您能否提供任何选项的示例?我不确定如何使用 Ajax。
  • 如果你使用 jQuery,你可以使用 $.ajax 函数,这里有很好的文档:api.jquery.com/jQuery.ajax
猜你喜欢
  • 1970-01-01
  • 2019-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-29
  • 1970-01-01
  • 2017-02-15
相关资源
最近更新 更多