首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提交按钮不提交

提交按钮不提交
EN

Stack Overflow用户
提问于 2010-11-09 05:38:45
回答 4查看 5.3K关注 0票数 1

有趣的问题。

在项目范围更改中,我将一个应用程序拆分为两个应用程序。我创建了一个新的项目,而不是试图将现有的应用程序一分为二,并重用了以前编写的大部分代码。最后一个让我抓狂的bug就是我。

我有一个项目列表,每一行都有一个复选框,允许用户一次处理多个行。我有一些jQuery验证逻辑来确保在下拉列表中选择了一个选项,并且至少选择了一行。这是有效的,但是当我单击submit按钮时似乎没有任何反应。我甚至在函数的第一行代码中设置了一个断点,但它永远不会被触发。除了将操作从Display更改为Index之外,代码相同。有什么想法吗?

代码如下:

代码语言:javascript
复制
<% using (Html.BeginForm("Index", "Timesheet", FormMethod.Post, new { Id = "form1" }))
   { %>
<%= Html.DropDownList("DropDownAction", new SelectList(Model.Actions, "Value", "Text"), "(Select)", new { Class = "required" })%>
<input type="submit" value="Submit" />
....
<% } %>

TimesheetController.cs

代码语言:javascript
复制
    //
    // GET: /Timesheet/
    [Authorize]
    public ActionResult Index()
    {
        ....
    }

    //
    // POST: /Timesheet/
    [HttpPost, Authorize]
    public ActionResult Index(int[] CbSelect, string DropDownAction, SupervisorCredentials user)
    {
        foreach (int id in CbSelect)
        {
            ...

        }

        return RedirectToAction("Index");
    }

生成的HTML:

代码语言:javascript
复制
<form Id="form1" action="/Timesheet" method="post"><select Class="required" id="DropDownAction" name="DropDownAction"><option value="">(Select)</option>
<option value=" ">Approve</option>
<option value="P">Paper Signature</option>
<option value="A">Absent Employee</option>
</select>
<input type="submit" value="Submit" />

更新:我删除了jQuery,现在我得到了一个空异常。我发布的值是DropDownAction=P&CbSelect%5B%5D=274680&CbSelect%5B%5D=275744。为什么public ActionResult Index(int[] CbSelect, string DropDownAction)不能工作?我在DropDownAction中得到了正确的值,在CbSelect中得到了一个null

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-10 03:34:05

不知道为什么,但显然在我的jQuery验证部分,我使用了debug: true。它看起来像是阻止了表单的实际提交。我不知道这是怎么回事。不是我加的。不过,表单现在可以正常工作了。

票数 3
EN

Stack Overflow用户

发布于 2010-11-09 08:50:08

调试这些类型的情况可能非常令人沮丧。给自己找一个像http://www.fiddler2.com/fiddler/version.asp这样的工具,启动它,它就会监控所有的web请求,这样你就可以很容易地看到响应是什么,并看看你的表单是否真的在提交。

票数 2
EN

Stack Overflow用户

发布于 2010-11-09 05:47:33

在表单中实际发布的内容很可能与给定Action的方法签名的MVC期望的内容不匹配。如果它根本没有发布(即从未命中服务器,可以通过firebug或类似的方式进行验证),那么视图的HTML输出是什么样子的?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4128318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档