我有兩個同名的動作方法。并且它們都用Http動詞'Get'和修飾'Post',而且它們的引數串列也不同。
[HttpGet]
public ActionResult Transaction()
[HttpGet]
public ActionResult Transaction(int recordId)
@Html.ActionLink("Back to Main page", "Transaction", new { recordId= Model.studentId })
兩者都是命名的Transaction,一個接受一個引數,而另一個不接受任何引數。
用于Transactions(int recordId)在點擊該按鈕時呼叫該方法的操作鏈接始終導航到Transaction()但不導航到Transaction(int recordId)。
我有兩個問題:
為什么我的代碼總是到達沒有引數的方法,即使操作鏈接有引數?
我已經用
HttpPostand修飾了我的動作方法HttpGet,如何包含HttpGet或HttpPost動作鏈接或任何其他表單元素?
uj5u.com熱心網友回復:
AnActionLink被呈現為一個<a href="....">HTML 元素,因此始終是一個GET請求,因此總是轉到用[HttpGet]注釋修飾的操作方法- 它不查看任何引數串列或類似的東西。
如果要呼叫POSTaction 方法,則需要在該表單上有一個 HTML 表單和一個提交按鈕 - 這將是POST由用[HttpPost]注釋裝飾的方法處理的請求...
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/395400.html
標籤:asp.net-mvc-4 剃刀
上一篇:在帶有.NetFramework4.X的ASP.NetMVC中,如何在部署管道期間向web.config添加密鑰?
