2011-02-14 3 views
18

MVC उपयोग कार्रवाई HTTP GET या पोस्ट के लिए एक ही दृश्य को मैप करने का श्रेय:यह निर्धारित करने के लिए कि क्या एएसपी.नेट एमवीसी में जीईटी या पोस्ट के लिए दृश्य है?

[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 पोस्ट है?


दृश्य में यह IsPost

@{ 
    var Message=""; 
    if(IsPost) 
     { 
      Message ="This is from the postback"; 
     } 
     else 
    { 
      Message="This is without postback"; 
    } 
} 

उत्तर

29

System.Web.HttpContext.Current.Request.HttpMethod भंडार वर्तमान विधि है। या सिर्फ Request.HttpMethod देखने के अंदर, लेकिन यदि आपको यह जांचना है, तो आपके दृष्टिकोण में कुछ गड़बड़ हो सकती है।

पोस्ट-रीडायरेक्ट-रीपॉस्टिंग बनाने के लिए पैटर्न प्राप्त करने के बारे में सोचें।

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 --><% } % 
संबंधित मुद्दे