我在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>
什么是实现这项工作的最佳方式
答案 0 :(得分:0)
这是服务器端C#代码:
@Url.Content('~/listings/page2')
在C#中,单引号用于字符文字,双引号用于字符串文字。 (与JavaScript相反,两者都可以用于字符串。)因为这是一个字符串而不是单个字符,所以它需要是双引号:
@Url.Content("~/listings/page2")
作为旁注,/listings/page2
是非常静态的内容,还是Listings
控制器上的操作?如果是后者,那么您需要将其更改为使用@Url.Action()
代替,因此它更具可移植性:
@Url.Action("Page2", "Listings")
但是,这只是一个理论。根据您的设置可能不是这样,只是基于MVC标准,以及您的“内容”没有文件扩展名这一事实。