asp.net-mvc - ASP.NET MVC 中的多种表单

标签 asp.net-mvc forms post

语境
假设我有:
在布局 Site.Master 中:

<div class="leftColumn">
    <asp:ContentPlaceHolder ID="MainContent" runat="server" />
</div>
<div class="rightColumn">
    <% Html.RenderPartial("_Login"); %>
    <asp:ContentPlaceHolder ID="SideContent" runat="server" />
</div>

登录 partialView 看起来像:
<form action="/myApp/Account/Login" method="post">
    <input name="name" />Name<br />
    <input name="password" type="password" />Password<br />
    <button>Login</button>
</form>

是否可以只更新登录小部件表单,而不是整个内容页面?

最佳答案

如果您指的是 http 帖子,则只有通过表单中的提交按钮启动的帖子(也可以由 javascript 启动)才会发布到服务器。

如果您的表单是嵌套的,那么这将不起作用。外部表单将始终发布到服务器。

在下面的示例 HTML 中,单击第一个表单上的提交按钮不会将第二个表单中的值发送到服务器。同样,单击第二个提交按钮不会发布第一个表单中的值。

<html>
...
  <body> 
    <div>

      <form action="/Login/Login" method="post">
        <input type="text" name="username" value="" />
        <input type="text" name="passowrd" value="" />
        <input type="submit" name="login" value="Login" />
      </form>


      <form action="/Login/AdminLogin" method="post">
        <input type="text" name="username" value="" />
        <input type="text" name="passowrd" value="" />
        <input type="submit" name="login" value="Login Admin" />
      </form>
    </div>
</body>
</html>

如果您只想更新/更改表单部分之一,那么不使用 javascript 并执行 javascript 帖子(又名 Ajax)就无法完成此操作。

关于asp.net-mvc - ASP.NET MVC 中的多种表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/822751/

相关文章:

c# - 每个页面优化中的购物车

asp.net-mvc - MVC Identity (2.0.1) 中的 regenerateIdentity/validateInterval 持续时间后忽略 ExpireTimeSpan

php - Sonata Admin 如何读取未映射的字段?

forms - ssl 是否避免篡改网站上的数据?

java - 使用http发送二进制数据

jquery - 在MVC3中的Ajax.Beginform中调用自定义确认对话框

css - asp.net mvc View css 未按预期显示

javascript - 使用 JS 仅显示请求的表单

Firefox 和 Nodejs 的 jQuery Ajax POST 错误

c - C 中的 HTTP 身份验证和文件发送