有沒有什麼辦法來檢查哪個按鈕是在控制器動作中回發的。 我的問題是我使用兩個沒有名稱屬性的按鈕。 如何檢查已單擊的按鈕時,按鈕沒有名稱屬性 請指點MVC asp.net多個按鈕沒有名字
編輯:由於我使用的內部框架在創建按鈕控件,我不能給name屬性,他們沒有名字屬性。 所以有沒有其他的選擇。
我知道有一個辦法把這些按鈕在不同形式的標籤,但我想看看不同的感謝
有沒有什麼辦法來檢查哪個按鈕是在控制器動作中回發的。 我的問題是我使用兩個沒有名稱屬性的按鈕。 如何檢查已單擊的按鈕時,按鈕沒有名稱屬性 請指點MVC asp.net多個按鈕沒有名字
編輯:由於我使用的內部框架在創建按鈕控件,我不能給name屬性,他們沒有名字屬性。 所以有沒有其他的選擇。
我知道有一個辦法把這些按鈕在不同形式的標籤,但我想看看不同的感謝
選項,如果你可以給你的按鈕的名稱屬性,你可以簡單地做..
<input ... name="MyBtn" .../>
If (Request.Form["MyBtn"] != null) ...
MVC會爲您檢查。提交按鈕連接到與視圖具有相同名稱的操作。
<% using (Html.BeginForm()) {%>
<fieldset>
<legend>Fields</legend>
<p>
<label for="Id">Id:</label>
<%= Html.TextBox("Id") %>
<%= Html.ValidationMessage("Id", "*") %>
</p>
<p>
<label for="Thema">Thema:</label>
<%= Html.TextBox("Thema") %>
<%= Html.ValidationMessage("Thema", "*") %>
</p>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
<% } %>
在您使用控制器HttpVerbs對於GET和郵政
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Add()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Add(ThemaWebSites thema)
{
return View(thema);
}
您可以使用ID屬性,如果你不希望使用一個名稱,然後使用「值」屬性:
<button type="submit" name="action" value="OK" /> <button type="submit" name="action" value="Cancel" />
你需要一個名字,否則將無法在Request.Form
或FormCollection
出現了,你將無法訪問該值。
編輯:如果你真的不能使用的名稱或ID屬性,你可能會被迫使每個按鈕設置在其onclick
事件的隱藏字段的值,使用一些JavaScript弄虛作假......
感謝您的回覆,但我不能給名稱屬性 – batwadi 2009-11-25 20:22:12
我有點好奇,知道爲什麼不?有什麼限制? – 2009-11-25 20:33:58
要回答你的問題,沒有辦法檢查哪個按鈕導致表單提交而沒有給它一個唯一的名稱。
爲什麼你不能給你的按鈕一個名稱屬性? – Rippo 2009-11-25 20:08:56