Đối với ví dụ cụ thể của bạn, tôi sẽ chỉ làm điều này, vì rõ ràng bạn không quan tâm đến việc thực sự trình duyệt có được chuyển hướng hay không (bằng cách chấp nhận câu trả lời bạn đã chấp nhận):
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index() {
// obviously these values might come from somewhere non-trivial
return Index(2, "text");
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(int someValue, string anotherValue) {
// would probably do something non-trivial here with the param values
return View();
}
Điều đó hoạt động dễ dàng và không có hoạt động kinh doanh hài hước nào thực sự diễn ra - điều này cho phép bạn duy trì thực tế rằng điều thứ hai thực sự chỉ chấp nhận các yêu cầu POST HTTP (ngoại trừ trong trường hợp này, dù sao bạn cũng nằm trong tầm kiểm soát của bạn) và bạn không phải sử dụng TempData, đó là những gì liên kết bạn đã đăng trong câu trả lời của bạn đang gợi ý.
Tôi rất muốn biết điều gì là "sai" với điều này, nếu có bất cứ điều gì. Rõ ràng, nếu bạn thực sự muốn gửi đến trình duyệt một chuyển hướng, điều này sẽ không hoạt động, nhưng sau đó bạn nên hỏi tại sao bạn sẽ cố gắng chuyển đổi bất kể điều đó, vì nó có vẻ kỳ lạ đối với tôi.
Mong rằng sẽ giúp.