我有一個標準的ASP MVC 4表單,用戶可以編輯一些細節,然後單擊「批准」或「拒絕」,這將導致一個回。在ASP MVC如何區分後回到動作4的形式
當控制器接收後的模型回來了,我怎麼知道哪個按鈕被點擊?
我正在尋找這樣做,所以我不故弄玄虛的下一個開發誰對項目工作的標準方式。
編輯我使用支架後,
我有一個標準的ASP MVC 4表單,用戶可以編輯一些細節,然後單擊「批准」或「拒絕」,這將導致一個回。在ASP MVC如何區分後回到動作4的形式
當控制器接收後的模型回來了,我怎麼知道哪個按鈕被點擊?
我正在尋找這樣做,所以我不故弄玄虛的下一個開發誰對項目工作的標準方式。
編輯我使用支架後,
給每個按鈕的名稱(同樣爲每個按鈕)和值(獨特的每個按鈕)。
<button type="submit" name="button" value="approve">Approve</button>
<button type="submit" name="button" value="decline">Decline</button>
然後用一個字符串參數添加到您的叫你分配到任何按鍵名哨方法。
[HttpPost]
public ActionResult ProcessForm (Model model, string button)
{
//the parameter 'button' will contain the value of the button clicked - either 'approve' or 'decline'
}
是我認爲最簡單的是,
變化的下降按鈕從submit
輸入到button
這種類型將不會回發到控制器,然後你就可以用幾行代碼將用戶重定向到其他頁面
已按倒在每一個HTML格式棘手的問題。它可能涉及到需要返回多少數據......如果您只需識別模型並且實際上不需要表單數據,那麼可以使用兩種不同的表單發佈到不同的控制器:非常透明和清晰的下一個開發者:
<div class="container">
<form method="POST" action="/approve/123">
<input type="submit">
</form>
<form method="POST" action="/decline/123">
<input type="submit">
</form>
<div>
另外,如果你確實需要調回我的客戶端onclick事件附加到每個相應的更新表單操作按鈕的表單數據。然而,這是不是下一個開發人員清晰...
<div class="container">
<form method="POST" action="/">
<input type="submit" value="Accept" id="btn-accept">
<input type="submit" value="Decline" id="btn-decline">
</form>
</div>
$(function(){
$("#btn-accept").click(funcion(e)({
e.preventDefault();
$("form").attr("action", "/approve");
$("form").submit();
}));
$("#btn-decline").click(funcion(e)({
e.preventDefault();
$("form").attr("action", "/decline");
$("form").submit();
}));
});
您能否添加一些關於如何將數據發佈回服務器的細節?它只是一個標準的HTML表單,或者當他們點擊任一按鈕時使用一些Ajax調用? – Jamiec
這個類似的問題可能會有所幫助:[link](http://stackoverflow.com/q/442704/943359)。我發現這個答案在MVC 3中效果很好:[link](http://stackoverflow.com/a/443047/943359) –
是不是提交的輸入值?然後,您可以在控制器中使用if語句 – Konstantin