Asp.net mvc – Html提交按钮未发送帖子?

前端之家收集整理的这篇文章主要介绍了Asp.net mvc – Html提交按钮未发送帖子?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
标题中所示.我使用 this方法允许每个表单提供多个提交按钮,并使用多个操作来处​​理它们.

然而 – 由于一些奇怪的原因 – 突然我的提交按钮没有提交表格!?这会发生什么原因?

使用IE,FF,Chrome测试 – 全部最新

查看代码

  1. <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Setup.Mvc.viewmodels.SignUpviewmodel>" %>
  2.  
  3. <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
  4. SignUp
  5. </asp:Content>
  6. <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
  7. <% using (Html.BeginForm("SignUp","SetUp",FormMethod.Post))
  8. {
  9.  
  10. %>
  11. <%: Html.ValidationSummary()%>
  12. <button type="submit" value="Register" name="ActionRegister" >Register</button>
  13. <button type="submit" value="Cancel" name="ActionCancel" class="cancel" >Cancel</button>
  14. <fieldset>
  15. <legend>Account Information </legend>
  16. <dl>
  17. <dt>
  18. <%:Html.LabelFor(x=>x.UserName)%>
  19. </dt>
  20. <dd>
  21. <%: Html.TextBoxFor(x=>x.UserName) %>
  22. <%: Html.ValidationMessageFor(model => model.UserName) %>
  23. </dd>
  24. <% if (string.IsNullOrEmpty(Model.Provider))
  25. {
  26. %>
  27. <dt>
  28. <%:Html.LabelFor(x=>x.Password)%>
  29. </dt>
  30. <dd>
  31. <%: Html.PasswordFor(x => x.Password)%>
  32. <%: Html.ValidationMessageFor(model => model.Password) %>
  33. </dd>
  34. <%
  35. } %>
  36. <dt>
  37. <%:Html.LabelFor(x=>x.Email)%>
  38. </dt>
  39. <dd>
  40. <%: Html.TextBoxFor(x=>x.Email) %>
  41. <%: Html.ValidationMessageFor(model => model.Email) %>
  42. </dd>
  43. <dt>
  44. <%:Html.LabelFor(x=>x.Themes) %>
  45. </dt>
  46. <dd>
  47. <%: Html.DropDownList("ThemeId",Model.Themes.Select(x=> new SelectListItem{ Text = x.DisplayName,Value = x.DisplayName}),"Select a Theme") %>
  48. <%: Html.ValidationMessageFor(model => model.Themes) %>
  49. </dd>
  50. </dl>
  51. </fieldset>
  52. <fieldset>
  53. <legend>
  54. <h2>
  55. Additional Information</h2>
  56. </legend>
  57. <dl>
  58. <dt>
  59. <%:Html.LabelFor(x=>x.PublicSite)%>
  60. </dt>
  61. <dd>
  62. <%:Html.CheckBoxFor(x => x.PublicSite)%>
  63. <%: Html.ValidationMessageFor(model => model.PublicSite) %>
  64. </dd>
  65. <dt>
  66. <%:Html.LabelFor(x=>x.SiteUrl)%>
  67. </dt>
  68. <dd>
  69. http://cheesyurl.com/<%:Html.TextBoxFor(x => x.SiteUrl)%>
  70. <%: Html.ValidationMessageFor(model => model.SiteUrl) %>
  71. </dd>
  72. </dl>
  73. </fieldset>
  74. <%
  75. }%>
  76. </asp:Content>

行动:

  1. [HttpPost]
  2. [ActionName("SignUp")]
  3. [UnitOfWork]
  4. [AcceptParameter(Action = "ActionRegister")]
  5. public ActionResult SignUp_Register(SignUpviewmodel vm)
  6. {
  7. return View();
  8. }

我尝试将它从提交更改为按钮,它适用于所有2个帖子,然后停止了?!

我完全迷失了……我打赌我做的事情完全是愚蠢的……

从firebug发布输出

  1. Parametersapplication/x-www-form-urlencoded
  2. Email wayne@isit.gd
  3. Password sdfsdfsdfsdf
  4. PublicSite false
  5. SiteUrl sdfsdfsdf
  6. ThemeId
  7. UserName Usernames-12131
  8. Source
  9. Content-Type: application/x-www-form-urlencoded Content-Length: 112 UserName=Usernames-Sux0r&Password=sdfsdfsdfsdf&Email=wayne%40isit.gd&ThemeId=&PublicSite=false&SiteUrl=sdfsdfsdf

解决方法

你在输入上设置了名字吗?

除非您指定“name”属性,否则不会发送表单字段.

  1. <input type="submit" name="Delete" value="Delete" />
  2. <input type="submit" name="Edit" value="Delete" />

编辑:我看到你使用按钮而不是提交.这可能是问题所在.

你需要使用这样的输入:

  1. <input type="submit" value="Register" name="ActionRegister"/>
  2. <input type="submit" value="Cancel" name="ActionCancel" class="cancel" />

猜你在找的asp.Net相关文章