#asp.net #asp.net-mvc-3 #razor
#asp.net #asp.net-mvc-3 #razor
Вопрос:
У меня есть страница в Asp.Net MVC использует синтаксис Razor. На странице у меня есть выпадающий список и раздел DIV, содержимое которого я хотел бы заменить в DIV в зависимости от выбранного значения в поле со списком, используя Ajax.Функциональность ActionLink
Есть ли способ сделать это?
Спасибо
Отметить
Ответ №1:
Я бы предпочел использовать форму, чем ссылку, поскольку она более адаптирована к тому, чего вы пытаетесь достичь:
@using (Ajax.BeginForm(
"Change",
"Home",
new AjaxOptions { UpdateTargetId = "result" }
))
{
@Html.FropDownListFor(x => x.Foo, Model.Foos, "-- Select a foo --")
<input type="submit" value="Change" />
}
<div id="result"></div>
И соответствующее действие контроллера:
public ActionResult Change(string foo)
{
string view = ... // select the partial based on the selected value
return PartialView(view);
}
Ответ №2:
вы можете использовать jquery для вызова вашего ajax-действия
function OnDddlChanged() {
$.ajax({
url: "controller/action/" $("#SelectTagID").val(),
dataType: 'html',
type: 'Get',
success: function (r) {
$('#DivID').html(r);
},
error: function () {
alert('Error');
}
});
}
mvc ajax action понравится это
public MvcHtmlString MyAction(string id)
{
if(Request.IsAjaxRequest)
{
//return your html as MvcHtmlString
}
}