更改加载下拉列表中的mvc3 jquery

时间:2013-09-12 18:09:08

标签: jquery asp.net-mvc-3 drop-down-menu

我在Page1上有一个下拉列表,当用户更改该下拉列表中的元素时,我想使用Jquery加载另一个下拉列表,理论上这听起来很简单,但它对我不起作用..这就是我的页面1 ,我在 @ Url.Content('〜/ listings / service')上收到错误,说明字符文字中的字符过多。

 // Load the new dropdownlist on change
  <script>
    $("#adtype").change(function () {
        $("#div1").load("@Url.Content('~/listings/page2') #service");
    });
</script>
// if a user changes this  dropdownlist it should trigger the jquery code
 <select name="adtype" id="adtype">
<option>Sales</option>
<option>Marketing</option>
 </select>

  <div id="div1"></div>

第2页

<select name="service" id="service">
<option>yes</option>
<option>no</option>
 </select>

什么是实现这项工作的最佳方式

1 个答案:

答案 0 :(得分:0)

这是服务器端C#代码:

@Url.Content('~/listings/page2')

在C#中,单引号用于字符文字,双引号用于字符串文字。 (与JavaScript相反,两者都可以用于字符串。)因为这是一个字符串而不是单个字符,所以它需要是双引号:

@Url.Content("~/listings/page2")

作为旁注,/listings/page2是非常静态的内容,还是Listings控制器上的操作?如果是后者,那么您需要将其更改为使用@Url.Action()代替,因此它更具可移植性:

@Url.Action("Page2", "Listings")
但是,这只是一个理论。根据您的设置可能不是这样,只是基于MVC标准,以及您的“内容”没有文件扩展名这一事实。