2013-09-12 2 views
0

У меня есть выпадающий список на странице 1, и когда пользователь меняет элемент в этом выпадающем списке, я бы хотел загрузить другой раскрывающийся список, используя Jquery, это звучит просто теоретически, но это не работает для меня .. вот что У меня есть Page 1 и я получаю сообщение об ошибке @ Url.Content ('~/listings/service') Говоря слишком много символов в буквальном буквале.mvc3 jquery on change load dropdownlist

// 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

Это на стороне сервера C# код:

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

В C#, одно- кавычки для символьных литералов, а двойные кавычки - для строковых литералов. (. В отличие от JavaScript, в которых оба могут быть использованы для строк) Так как это строка, а не один символ, он должен быть в двойные кавычки:

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

Как примечание стороны, является /listings/page2 действительно статический контент, или это действие на контроллере Listings? Если последнее, то вы будете хотеть, чтобы изменить это, чтобы использовать @Url.Action() вместо этого, так что это более портативными:

@Url.Action("Page2", "Listings") 

Это только теория, хотя. Это может быть неверно на основе вашей установки, просто кажется, что это основано на стандартах MVC и на том факте, что ваш контент не имеет расширения файла.

+0

Отлично, что работа большое спасибо за объяснение. – user1591668