2011-08-15 22 views
2

使用一個鏈接,而不是一個按鈕,我如何使用一個鏈接,而不是一個按鈕提交表單中beginform在beginform

這是我,但我不想使用一個按鈕

  <% using (Html.BeginForm()) 
      { %> 
      - <%: role %> 
      <%: Html.Hidden("Username", user) %> 
      <%: Html.Hidden("RoleToDelete", role) %> 
      <button type="submit">X</button> 
      <% } %> 

感謝

+0

Html.ActionLink會爲你工作嗎?請參閱http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx – sll

回答

2

一些JavaScript添加到鏈接:

<a href="#" onclick="document.nameofyourform.submit();">X</a> 

您將需要確定表單的一些方法,這樣你就可以調用它的相關對象的submit方法,以使您的生成html看起來像:

<form id="myform" name="nameofyourform" action="..." method="..."> 
... 
</form> 

的ID將讓你做document.getElementById('myform'.submit()和名稱將如上面的<a>示例那樣工作。

當然,這一切都取決於Javascript。如果你靶向年長/ JS-剝奪了瀏覽器,你就可以提交表單的唯一方法是通過一個實際的提交按鈕

1

由於您使用的MVC我想你也將使用JQuery:

<a href="#" onclick="$(this).parents('form').submit();" >Submit</a> 

缺點:

按輸入時
  • 不工作(解決方法:保持提交按鈕,但其定位屏幕外)

  • 不工作的時候JS d isabled瀏覽器的

0

你需要先用BeginForm命名你的表格,那麼您可以在鏈接的onclick事件refernce它。

<% using (Html.BeginForm("ActionName", "ControllerName", FormMethod.Post, new { id = "deletionform" })) 
{ %> 
- <%: role %> 
<%: Html.Hidden("Username", user) %> 
<%: Html.Hidden("RoleToDelete", role) %> 
<a onclick="deletionform.submit();">X</button> 
<% } %>