MVC使用操作属性来映射http get或post的相同视图:
[HttpGet]
public ActionResult Index()
{
ViewBag.Message = "Message";
return View();
}
[HttpPost]
public ActionResult Index(decimal a, decimal b, string operation)
{
ViewBag.Message = "Calculation Result:";
ViewBag.Result = Calculation.Execute(a, b, operation);
return View();
}
在MVC视图中,如何确定视图是用于http get还是http post?
在视图中IsPost
@{
var Message="";
if(IsPost)
{
Message ="This is from the postback";
}
else
{
Message="This is without postback";
}
}
PS:对于点网核心,它是:
Context.Request.Method == "POST"
答案 0 :(得分:32)
System.Web.HttpContext.Current.Request.HttpMethod
存储当前方法。或者只是Request.HttpMethod
在视图中,但如果你需要检查一下,你的方法可能有问题。
考虑使用Post-Redirect-Get模式进行重新发布。
答案 1 :(得分:9)
<% if (System.Web.HttpContext.Current.Request.HttpMethod.ToString() == "GET") { %><!-- This is GET --><% }
else if (System.Web.HttpContext.Current.Request.HttpMethod.ToString() == "POST")
{ %><!--This is POST--><%}
else
{ %><!--Something another --><% } %
答案 2 :(得分:2)
对于点网核心,它是:
Context.Request.Method ==“ POST”