ASP.NET MVC:Actionlink 没有导航到名称相同但参数不同的正确操作方法
ASP.NET MVC : Actionlink does not navigate to correct action method of same name but different parameters
我有两个同名的动作方法。而且都是用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)
方法的操作 link 始终导航至 Transaction()
而不是 Transaction(int recordId)
.
我有两个问题:
为什么我的代码总是到达没有参数的方法,即使操作 link 有参数?
我已经用 HttpPost
和 HttpGet
修饰了我的操作方法,如何将 HttpGet
或 HttpPost
包含在操作 link 或任何其他表单元素?
ActionLink
呈现为 <a href="....">
HTML 元素,因此始终是 GET
请求,因此始终转到用 [=13 修饰的操作方法=] 注释 - 它不查看任何参数列表或类似的东西。
如果您想调用 POST
操作方法,您需要有一个 HTML 表单和该表单上的提交按钮 - 这将是一个 POST
请求由装饰有 [HttpPost]
注释的方法处理 ...
我有两个同名的动作方法。而且都是用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)
方法的操作 link 始终导航至 Transaction()
而不是 Transaction(int recordId)
.
我有两个问题:
为什么我的代码总是到达没有参数的方法,即使操作 link 有参数?
我已经用
HttpPost
和HttpGet
修饰了我的操作方法,如何将HttpGet
或HttpPost
包含在操作 link 或任何其他表单元素?
ActionLink
呈现为 <a href="....">
HTML 元素,因此始终是 GET
请求,因此始终转到用 [=13 修饰的操作方法=] 注释 - 它不查看任何参数列表或类似的东西。
如果您想调用 POST
操作方法,您需要有一个 HTML 表单和该表单上的提交按钮 - 这将是一个 POST
请求由装饰有 [HttpPost]
注释的方法处理 ...