2017-10-08 44 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

相关问题