javascript - 生成带有隐藏输入的表单并提交到操作

标签 javascript c# jquery .net forms

我认为这会比以前简单得多。我需要从数据表中的单元格中提取数据(我可以这样做),然后通过带有隐藏字段的表单提交数据,以便将变量传递给 Controller ​​中的操作。

除了生成表单之外,我正在代码中执行与之前类似的操作。

我尝试了不同的方法,无论什么时候我在操作中访问集合时,值都是 null。

我的查看功能:

$('#myTable').on('click', 'td', function () {
            var serial = table.cell(this).data();


            var form = $('<form action="@Url.Action("status")" id="hiddenform"><input type="hidden" id="serial" name="serial" value=""></form>').appendTo('body');
            $('.serial').val(serial);
            form.submit();


        });

以及我正在解析的 Controller :

//Accept GET and POST
    [AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
    public ActionResult Status(System.Web.Mvc.FormCollection collection)
    {
        string serial = collection["serial"];

        if (serial == null || serial == "")
            System.Windows.Forms.MessageBox.Show("Error: Serial is NULL");

        return View(serial);
    }

说实话,为了解决这个问题,我对代码进行了很多修改,所以它看起来非常糟糕。

如有任何帮助,我们将不胜感激。

我每次在 Controller 中都会收到错误:串行为空弹出窗口。但是,如果我测试 JQuery,该值不为 null,它将返回正确的值。

最佳答案

您是否尝试过将方法签名更改为以下内容?

public ActionResult Status(string serial)

其中,serial 是您将从 HTML 表单传递的参数名称。

如果 HTML 中的参数名称是 blah,您可能需要将方法签名更改为以下内容:

public ActionResult Status(string blah)

关于javascript - 生成带有隐藏输入的表单并提交到操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40987658/

相关文章:

Javascript - 添加更多按钮功能和 2 个动态选择标签

javascript - .split(/_(.+)?/)[i] 是如何工作的?

jquery - 如何将 jquery 文件与 angular 4 集成

javascript - WebSocket TCP 数据包聚集在一起?

javascript - 如何覆盖 Javascript 中的方法并将其应用于原始对象,而不是子对象?

javascript - 用 JavaScript 替换类名

javascript - Javascript 中的替换函数有问题

c# - 为泛型类实现 IComparable<T> 接口(interface)以比较类型 T

c# - DataGridView 在通过单元测试调用时不接受 DataSource

c# - 如何使用 Entity Framework 4.1 Code First 为数据库中的一对多关系强制建立一对一关系