在WebGrid列中的表单提交CheckBox和Quantity TextBox

时间:2012-10-04 16:49:58

标签: c# asp.net .net razor webmatrix

我在基于Razor的网站上有一个WebGrid,现在我希望在一个列中有一个Checkbox和一个Textbox,当我在输入Quantity后单击Checkbox时,我希望它提交表单,所以我可以将该项添加到数据库中(我现在不是真的热衷于AJAX,除非它更容易和更好)。但我只是不知道应该怎么做。

enter image description here

我是否应该以自己的形式包装Checkbox和Textbox的每个组合,因此每个具有Checkbox的列都会有一个表单?或者我应该将整个WebGrid div包装在1个表单中,然后确定在提交时检查了哪些?我真的不确定从哪里开始。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果您不喜欢ajax,可以将整个网格包装在一个表单中,然后使用复选框上的checked事件获取该复选框的id,这样您就可以明确知道表单发布时要查看的值。您必须通过ID中的标识符将每个复选框与其关联的文本框绑定,因为它将发布网格的所有值。如果页面被分区,每个部分执行特定功能,那么在页面上有多个表单是您要做的事情。在这种情况下,网格在整个网格中执行一项功能。

取而代之的是,ajax风格的方法将是最好的选择。使用jquery,将ajax.post附加到要为其发布帖子的网格中的每个元素都是相当的。比试图编写所有额外的代码以确定哪些复选框被更改以及您希望从帖子中查看的数据更清晰。

$.ajax({
            type: "POST",
            url: path,
            data: "id=" + checkboxId + "text=" + textboxdata+ ,
            success: function() {
                // if needed alert user data saved

            }
});