语境
假设我有:
在布局 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/