在c#代码中引用jquery变量(ASP.净MVC)

本文关键字:ASP MVC 变量 jquery 代码 引用 | 更新日期: 2023-09-27 18:03:26

如何使用ASP在视图中引用c#块中的jquery变量?净MVC吗?

例如:

$(":input[@name='mydropdown']").change(function () {
        var selection = $("#myselection").val();
        pop($("#md"), <%= Model.choices[selection] %>);
});

其中c#块中的选择与jquery中引用的选择是相同的

在c#代码中引用jquery变量(ASP.净MVC)

这是不可能的。c#代码在HTML发送到用户浏览器之前执行,这是在jQuery加载之前,这是在变量selection有机会存在之前。

有两种方法可以解决这个问题:
  1. 转储所有数据,你关心从Model.choices到JavaScript变量;然后你的JS代码可以访问这个变量。如果你的数据量不是太大,这是简单而好的。
  2. 有JS代码使AJAX请求服务器通过传递selection的值作为查询字符串参数获得所需的任何数据。

也许可以试试jquery网站上的Sharpkit插件:

http://plugins.jquery.com/project/SharpKit

你不能这样做,因为浏览器(客户端)不与服务器共享任何内存或状态。

  • 服务器执行渲染html和js的c#
  • 浏览器下载并解释它
  • 浏览器执行javascript(不是c#!)

我同意Jon的建议(1),因为它不需要对服务器进行另一次回调,从而提高了性能。

ASP万岁!净MVC !:)