【问题标题】:Form-submitting CheckBox alongside a Quantity TextBox within a WebGrid ColumnWebGrid 列中的表单提交 CheckBox 旁边的 Quantity TextBox
【发布时间】:2012-10-04 16:49:58
【问题描述】:

我在基于 Razor 的网站上有一个 WebGrid,现在我想在一个列内有一个复选框和一个文本框,当我在输入数量后单击复选框时,我希望它提交表单,所以我可以将该项目添加到数据库中(我现在并不热衷于 AJAX,除非它会更容易更好)。但我就是不知道该怎么办。

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

任何帮助将不胜感激。

【问题讨论】:

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


    【解决方案1】:

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

    取而代之的是,ajax 风格的方法将是最好的选择。使用 jquery 将一个 ajax.post 附加到您要为其发布帖子的网格中的每个元素都是公平的。比尝试编写所有额外代码来确定更改了哪个复选框以及您想从帖子中查看的数据是什么要干净得多。

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

    【讨论】:

    • Ajax sn-p 到底应该放在哪里?我是否只是在页面某处的脚本标记中放置一个 ajax 示例?
    • 这只是一个示例 sn-p... 根据您的应用程序的详细信息,您可能需要包含其他属性。它可以包含在 js 文件中的页面上,但您需要将发布操作附加到每个复选框上的事件。 $(document).ready(function(){ $('selector').click(function() { place ajax code here }}); 这只是一个示例,有几种方法可以将函数绑定到基于事件的事件一个选择器。我会查看 jquery 文档,因为它对此非常全面。
    猜你喜欢
    • 2017-10-05
    • 2016-08-11
    • 2013-07-16
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多