2017-10-08 43 views
1

我已經第一次嘗試過Web窗體應用程序。我的目標是使URL能夠調用方法,例如在瀏覽器上輸入http://localhost:51040/test.aspx/GetData應該調用方法GetData。當GetData方法包括:在Web窗體的URL中調用WebMethod Asp

[WebMethod()] 
    public static string GetData() 
    { 
     person p = new person(); 
     Order o = new Order("gggg","fff",34); 
     Database db = new Database(); 
     db.MakeOrder(o); 

     // p.name = name; 
     return p.name; 
    } 

我也嘗試過的Ajax功能使用POST請求來調用這個方法,當我點擊該按鈕,它的工作原理:

 $(document).ready(function() { 
    $.support.cors = true; 
] 
$('#btn').click(function() { 
    var name = $('#name').val(); 
    /// alert("The btn was clicked."); 
    jQuery.ajax({ 
     url: 'test.aspx/GetData', 
     type: "POST", 
     dataType: "json", 
     // data: "{'name': '" + name + "'}", 
     contentType: "application/json; charset=utf-8", 
     success: function (data) { 
      alert(JSON.stringify(data)); 


     } 
    }); 
}); 

}); 

,但我仍然無法直接調用此方法通過URL。如果我沒有提供完整的信息,我很抱歉。但是,如果您需要了解其他信息,我會盡力爲您提供。 我急於等待幫忙回覆。

+0

您是否鎖定使用Web窗體?爲什麼不使用像ASP.NET Web API這樣的現代框架? – mason

+0

我已經完成了網站。現在我需要演示CSRF,因爲我需要測試是否可以在URL上調用方法。 – user7808679

回答

0

可能您只需在GetData方法中添加[ScriptMethod(UseHttpGet=true)]屬性。

+0

它不起作用。即使Ajax功能也因此而停止工作 – user7808679

+0

您是否嘗試過使用瀏覽器中的開發人員工具進行調試?當您發出獲取請求時,服務器回覆什麼? –

+0

它什麼都不做,只是重新加載頁面...沒有錯誤消息 – user7808679

相關問題