aspx前臺調用cs後臺方法

隨着對於mvc的習慣使用,aspx頁面漸漸用的不怎麼用了,主要是生命週期感覺上比較慢,要麼就用html+handler一般處理程序來裝下逼。雖然不用,但還是要給剛工作的人講下,相信不少人都想過:既然前臺可以用後臺的變量,那麼能不能用後臺的方法呢?

答案是肯定的,但是有幾個原則:

1.後臺被調用的方法必須是public 或 protected

2.後臺被調用的方法必須是靜態的static

3.後臺被調用的方法必須是 [WebMethod]標籤修飾過的(你沒看錯,這的確是webservice接口方法上的標籤,實際上相當於調接口)

後臺方法模型如下:

[WebMethod] 
public static string SayHello(string name)
{
return name+"Hello !";
}

當然 既然可以帶參當然也可以無參無返回值。

現在來說說前臺的調用,廢話不多說 直接上代碼

<input type="text"  id="SearchKey"  value="" />
 <input id="btnserach" type="button" value="搜索" />
<script type="text/javascript">
   
      $(function() {  
  
    $("#btnserach").click(function() {     
        $.ajax({              
            type: "post", //要用post方式                 
            url: "Demo.aspx/SayHello",//方法所在頁面和方法名
            data: "{'key':'" + $("#SearchKey").val() + "'}",
            contentType: "application/json; charset=utf-8",     
            dataType: "json",     
            success: function(data) {                    
                 console.log(data.d);
            },
            error: function(err) {     
                alert(err);     
            }     
        });
    });     
});
 
   

</script>

  就這樣 一個簡單的小小的demo就完成了。不過我不得不着重的提一下,我實驗了好久 對於多個參數傳遞過去總是不成功,彷彿後臺始終把它當做一個參數在解析,無論用string 還是int 

data: "{'content':'" + $("#content").val() + "','createTime':'" + $("#createTime").val() + "','creator':'" + $("#creator").val() + "'}",
data:"{key:"+ key +",name:"+ name +"}",
這2種都不行,有知道的可以指點下。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章