我使用Razor语法在Asp.Net MVC中有一个页面。在页面中我有一个DropDownList和一个DIV部分,我想根据使用Ajax.ActionLink功能的组合框的选定值替换DIV中的内容
有办法做到这一点吗?
由于
马克
答案 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
}
}