你如何在asp.net mvc中做webforms的autopostback功能?

TCM*_*TCM 0 c# asp.net asp.net-mvc asp.net-mvc-3

我有一个简单的webgrid显示列表.我还有一个包含很少项目的组合框.我希望当用户更改选择时,更改的值应该发布到服务器.我怎样才能做到这一点?

任何代码片段都会有所帮助.

vcs*_*nes 6

Web窗体中的自动回发是通过一些JavaScript完成的.这在MVC中并不是开箱即用的,但足够简单,可以自己完成.

假设你有jQuery:

$(document).ready(function() {
    $('#someCheckBox').change(function() {
        $('#yourFormId').submit();
    });
});
Run Code Online (Sandbox Code Playgroud)

这与经典Web表单的工作方式"最接近"; 基本上做"当选中或取消选中ID为'someCheckBox'的复选框时,提交id为'yourFormId'的表单.您当然可以根据需要进行更改.

由于大多数开发人员喜欢使用AJAX调用而不是完整的回发版,因此不包括开箱即用,如果可能的话我鼓励你这样做.更可取的是:

 $(document).ready(function() {
    $('#someCheckBox').change(function() {
        $.ajax(/*make an AJAX call*/);
    });
});
Run Code Online (Sandbox Code Playgroud)