Вы на правильном пути, вам нужно добавить скрипт, чтобы он заработал. Вам нужно передать выбранное значение, вы должны добавить код контроллера к вопросу. Может быть, это больше пост, чем получить, но это выходит за рамки этого вопроса. Какие данные вы возвращаете? Я думаю, что вы должны использовать jquery template , чтобы показать свои данные.
$(function() {
$("#FK_MET_ID").change(function() {
$.get("/Provider/UpdateListProvider/" + $(this).val(), function(data) {
if (data) {
$("#contractsTemplate").tmpl(data).appendTo('#contracts');
}
});
});
});
РЕДАКТИРОВАТЬ:
Лучший способ - работать с Json, в вашем контроллере вам нужен такой метод:
[HttpPost]
public virtual JsonResult GetContracts(string nameOfTheVariable)
{
var contracts = _session.All<Contract>();//add restriction with the variable
return Json(contracts);
}
В вашем представлении вы можете работать с шаблоном jquery :
<script id="contractsTemplate" type="test/x-jquery-tmpl">
<li><a href="/contract/${Id}/version/${Version}/edit">${Filename}</a> <span>${Status}</span></li>
</script>
<script type="text/javascript" src="@Links.Content.javascript.jquery_tmpl_min_js"></script>
<script type="text/javascript">
$(function () {
GetContracts();
});
function GetContracts() {
$.ajax({
type: "POST",
url: "/API/GetContracts",
dataType: "json",
success: function (data) {
$('#contracts').empty();
if (data) {
$("#contractsTemplate").tmpl(data).appendTo('#contracts');
}
}
});
}
</script>
Вам нужно добавить собственный маршрут в ваш global.ascx, который будет указывать на ваш контроллер с нужным вам действием и параметром nameOfTheVariable, который вам нужен, или вы можете также сделать это как параметр запроса yoururl.com $ action? NameOfTheVariable = "значение"
Дайте мне знать, если вам нужна дополнительная помощь!