ajax的替代方式?

时间:2012-10-04 11:35:46

标签: asp.net-mvc-3 razor

我正在使用MVC 3.在选择下拉列表时,我有一个jquery ajax方法,它返回一个局部视图。

$.ajax({
    url: '/Date/GetNextData',
    type: 'GET',
    async: false,
    data: { ID: dataID },
    success: function (result) {
        $('followup').html(result);
    }
});

有没有其他方法可以在不使用ajax的情况下执行此操作?

提前致谢

1 个答案:

答案 0 :(得分:0)

如果您不想使用AJAX,则必须更新整个页面。您不能只刷新DOM的一部分。因此,您可以订阅下拉列表的更改事件并手动触发包含表单的提交。例如:

@using (Html.BeginForm())
{
    @Html.DropDownListFor(x => x.ItemId, Model.Items, new { id = "myDdl" })
    <button type="submit">OK</button>
}

然后你可以有一个函数在值改变时提交表单:

$('#myDdl').change(function() {
    $(this).closest('form').submit();
});

由于您不再使用AJAX,您的控制器操作现在必须返回完整视图而不是部分视图。