mvc中Action前HttpPost的作用

mvc中Action前HttpPost的作用

一、Action前HttpPost实例

  • 
    [HttpPost]  
    public string post_test(string str)  
    {  
        return "post的字符串是:"+str;  
    } 
    
    		
  • 脚本调用

  • 
    function post_test()  
    {  
       $.post("/test/post_test", { str: "John" }, function (data) 
       {  
          $('#lbl_show').text(data);  
       });  
    }  
    
    		
  •  
  •  
  • 或者
  •  
  •  
  • 
    $.ajax({
                type: "POST",
                url: "/test/post_test",
                data: "str='" + John+ "'",
               success: function(msg) {
                   $('#lbl_show').text(data);  
                }
          });
    
    		
  • 二、Action前HttpPost 的作用

    限制action只接受HttpPost的请求,对于HttpGet的请求则提示404找不到页面。

    如果Action前即没有 [HttpPost],也没有 [HttpGet] ,则两种方式的请求都接收。

    三、Post方式提交数据后,Controller中寻找Action的相应机制

    1、查找有没有[HttpPost]标注的Register Action,如果有,则执行,如果没有,则2

    2、查找有没有没有任何[HttpPost]或者[HttpGet]标记的Register Action,如果有,则执行,如果没有,则3

    3、返回“The Resource can't be found"的异常信息

    标签: