一尘不染

将Web方法与母版页一起使用

ajax

我的主页上的所有页面上都有一个函数,我希望它可以通过某些jQuery Ajax方法运行。

我现在有一些这样的代码

jQuery的

$(document).ready(function() {
  $("#test").click(function() {
    $.ajax({
      type: "POST",
      url: "Default.aspx/GetDate",
      data: "{}",
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      success: function(msg) {
        $("#test").text(msg.d);
      }
    });
  });
});

母版页中的HTML

<div id="test">Click here for the time.</div>

我的主VB中的Asp.Net代码

<WebMethod> _
Public Shared Function GetDate() As String
    Return DateTime.Now.ToString()
End Function

当前,除非我将Web方法移至Default.aspxVB页面,否则此方法不起作用

有什么办法可以改变这部分吗

url: "Default.aspx/GetDate",

要使用母版页功能?

我尝试将其更改为

url: "template.master/GetDate",

但这只是给我一个404错误

有任何想法吗?

提前致谢


阅读 244

收藏
2020-07-26

共1个答案

一尘不染

您的网络方法代码不能驻留在母版页的代码中。

我发现在项目中包含实际的Web服务或WCF服务变得更加容易,因为我需要从多个页面调用这些内容。

编辑:

要将WCF服务添加到项目中:

  1. 右键单击项目
  2. 选择[WCF服务]并为其命名(例如Agent.svc)
  3. 设置服务(请参阅http://www.codeproject.com/KB/aspnet/jQuery_To_WCF.aspx

这里有更多关于Stackoverflow的示例…

希望有帮助。

2020-07-26