沒有IsPostBack - 一切都是POST或GET(或其他HTTP動詞)。您可以限制您的操作允許的HTTP動詞,即使用AcceptVerbsAttribute,您永遠不會看到來自不允許的動詞的請求。例如,以下僅允許POST。
[AcceptVerbs(HttpVerbs.Post)]
[ValidateAntiForgeryToken]
public ActionResult Update(int id)
{
}
如果你需要有相同的動作名稱一舉兩得GET/POST和他們實際上做不同的事情,你可以給他們單獨簽名或使用ActionNameAttribute別名的行動之一,所以該方法可以有不同的名字。
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult List()
{
}
[AcceptVerbs(HttpVerbs.Post)]
[ValidateAntiForgeryToken]
public ActionResult List(string filter, int page, int limit)
{
}
OR
[ActionName("List")]
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult ListDisplay()
{
}
[AcceptVerbs(HttpVerbs.Post)]
[ValidateAntiForgeryToken]
public ActionResult List()
{
}
編輯:請注意,我已經添加了防僞令牌驗證的POST動作。你真的應該使用這個到protect against cross-site scripting attacks。
'公共靜態布爾的IsPostBack(這HttpRequestBase要求){回報__viewstate-something-something}「可能是最接近的。但將MVC主頁中的Web窗體用戶控件放在ASP.NET MVC的未來版本中可能會中斷。 – bzlm 2010-04-04 21:18:25
爲什麼我們不能在MVC中使用Web表單?我正在使用網頁表單。但我不專業。除了web表單,我們還可以使用其他什麼? – 2018-03-09 14:09:41