自定义服务器控件,将web方法添加到自定义服务器控件

我创建了一个服务器用户控件,我希望它能够使用WebMethod。如果Web方法在我的主应用程序(作为ASMX文件),它工作正常。问题是我想将此方法包含在与用户控件相同的项目库中,以便我可以将DLL作为独立项目进行分发。因为该项目是一个类库,所以我必须使Web服务成为VB文件,而不是.ASMX。当我尝试在我的.VB文件中调用Web方法时,似乎没有任何事情发生(没有错误,但我的Web方法中的断点从未达到)是否可以实现?下面是我如何创建我的控制为例:将web方法添加到自定义服务器控件

Web方法,在myClass.VB:

_

_

_

Public Class myClass

Inherits System.Web.Services.WebService

_

Public Function TestMethod(ByVal prefixText As String) As String

return "Hello World"

end Function

和我的服务器控件设置这样的,在miniActiveDirectorySearch.VB:

Public Class miniActiveDirectorySearch

Inherits WebControl

Private Sub attachWebResources()

ScriptManager.RegisterClientScriptResource(Me, Me.GetType, "myScripts.js")

ScriptManager.RegisterClientScriptResource(Me, Me.GetType, "jquery-1.4.1.min.js")

End Sub

Protected Overrides Sub CreateChildControls()

createDynamicControls()

MyBase.CreateChildControls()

End Sub

Protected Overrides Sub OnInit(ByVal e As System.EventArgs)

attachWebResources()

MyBase.OnInit(e)

End Sub

Private Sub createDynamicControls()

Controls.Clear()

Try

tblMainLayout = buildMaintable() 'builds out the control

'to save space, I removed how this works. But, it creates a textbox that

'has a onKeyPress Event. When the user hits return, it calls the jQuery

'function serviceCall

Controls.Add(tblMainLayout)

Catch ex As Exception

Throw New ApplicationException("Exception Occurred", ex.InnerException)

End Try

End Sub

end Class

和我JQuery的方法,在myScripts.js发现:

function serviceCall(getText, tbId, divId, bgColor) {

$.ajax({

type: "POST",

url: 'myClass.asmx/TestMethod',

data: '{"prefixText":"'some test'"}',

contentType: "application/json; charset=utf-8",

dataType: "json",

success: function (msg) {

alert('Success')

},

error: function (e) {

alert('Error')

}

});

我已经创建的服务CL并将其包含在与我的用户控件相同的项目中,但该服务从未被调用。另一方面,如果我将服务放在我的web项目的ASMX文件中,它将会很好地到达web方法。

任何帮助将是巨大的

感谢 杰森

2013-04-23

jason

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值