Asp.net MVC选择索引更改/ Ajax.ActionLink

时间:2011-06-01 16:05:15

标签: asp.net asp.net-mvc-3 razor

我使用Razor语法在Asp.Net MVC中有一个页面。在页面中我有一个DropDownList和一个DIV部分,我想根据使用Ajax.ActionLink功能的组合框的选定值替换DIV中的内容

有办法做到这一点吗?

由于

马克

2 个答案:

答案 0 :(得分:2)

我宁愿使用表单而非链接,因为它更适合您要实现的目标:

@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);
}

答案 1 :(得分:1)

你可以使用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动作会喜欢那个

 public MvcHtmlString MyAction(string id)
{
  if(Request.IsAjaxRequest)
  {
    //return your html as MvcHtmlString
  }
}