2012-10-04 94 views
1

我正在使用MVC 3.在选择下拉列表中,我有一个返回部分视图的jquery ajax方法。ajax的替代方法?

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

有没有其他方法可以做到这一点,而不使用ajax?

在此先感谢

+2

AJAX的哪个部分不想使用,为什么?你可以使用UpdatePanels,但效率不高。 –

+0

我不想使用jquery ajax。这种情况下是否有任何MVC替代品? –

+0

使用直接的JavaScript AJAX(注意,最终会出现跨浏览器问题!)或AJAX.NET(注意,大量页面负载膨胀!)。否则,如果你不喜欢整个页面的重新加载,那么你的运气会很好。 –

回答

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控制器操作将现在不得不返回全视图而不是局部。