ฉันกำลังพยายามเรียกใช้เมธอดคอนโทรลเลอร์ของฉันโดยส่งพารามิเตอร์ 2 ตัว แต่การกระทำของคอนโทรลเลอร์ไม่เคยถูกเข้าถึง และข้อผิดพลาด 404 ถูกส่งกลับ
เมื่อดูคำถามที่คล้ายกันอื่น ๆ ฉันได้ลองฟอร์แมต actionlink ใหม่แล้วลองใช้ @html.action ตรวจสอบให้แน่ใจว่ามันเป็น HttpGet แทนที่จะเป็น HttpPost และเห็นได้ชัดว่าทำให้วิธีการดำเนินการนั้นมีอยู่ในคอนโทรลเลอร์จริงๆ
ผลการดำเนินการ:
@Html.ActionLink(
linkText: item.FileName,
actionName: "GetStatement",
controllerName: "Statements",
routeValues: new { id = item.Id, entityCode =
item.EntityCode },
htmlAttributes: null)
วิธีการควบคุม
public class StatementsController : Controller
{
[HttpGet]
public ActionResult GetStatement(int id, int entityCode)
{
//go to repository and get statement
}
}
ฉันไม่แน่ใจด้วยว่า URL ที่เกี่ยวข้องนั้นมีรูปแบบที่ถูกต้อง: Statments/GetStatement/1234?entityCode=111