Asp.net Изменен выбранный индекс MVC / Ajax.ActionLink

#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
  }
}