2

在包含在表单中的 MVC 视图 (.aspx) 上,有几个控件 - 网格、文本框 - 显示与主题、人员相关的数据。该表单不需要提交按钮,因为绝大多数数据仅供查看。但是,有一个显示评论的网格 (Telerik MVC)。用户应该能够添加评论 - 在文本框中 - 然后该评论应该出现在网格中。因为评论数据来自两个不同的数据库源并在存储过程中合并,所以我无法使用内联网格编辑。

问题 1。

是否可以将包装 DIV 的内容(即带有新评论的文本框)异步回发到没有完整表单回发和页面闪烁的控制器?

谢谢,

阿诺德

4

2 回答 2

1

您可以使用单击按钮时发生的 jQuery / JavaScript post 函数创建一个按钮,将文本框的内容(新评论)“提交”到控制器操作。

然后,控制器操作可以将新评论存储在特定数据库中,如果在此之后添加“成功”方法,您可以调用 ajaxRequest() 来刷新网格。

    $("#submitButton").click(function () {

    var comment = $("#commentTextbox").val();

    $.ajax({ type: "POST",
                    url: "/Controller/UpdateCommentsGrid",
                    datatype: "json",
                    traditional: true,
                    data:
                          {
                              'comment': comment                      
                          },
                    success: function () {
                        var grid = $('#YourGridName').data('tGrid');
                        grid.ajaxRequest();
                    }
                });

    });

希望这可以帮助。

于 2010-12-30T14:55:33.243 回答
0

是的,有可能。让我们以下面的表格为例,您只想发布第二个 DIV:

<form action="/foo" method="post">
    <div id="section1">
        <input type="text" name="item1" />
        <input type="text" name="item2" />
    </div>

    <div id="section2">
        <input type="text" name="item3" />
        <input type="text" name="item4" />
    </div>
</form>

你可以像这样发送一个 AJAX 请求:

var form = $('#section2').wrap('<form/>').parent();
$.post('/foo', form.serialize(), function(result) {
    alert('successfully posted');
});
于 2010-12-30T14:52:36.293 回答