Asp.net-Mvc
ASP.NET MVC 中的多個表單
上下文
假設我有:
在佈局 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>登錄部分視圖如下所示:
<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 )就無法做到這一點。