如果我从页面加载中调用webservise,如何让我的ASP.net webservice将控件添加到我的页面?
以下是我的代码的简化版本。感谢
''''''''''''''''''page code behind'''''''''''''''''''''''''''''''''''''''''''''''
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim m As New myWebService.Service
m.DoThis()
End Sub
End Class
''''''''''''''''''''''Web service'''''''''''''''''''''''''''''''''''''''
Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
<WebService(Namespace:="http://test.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class Service
Inherits System.Web.Services.WebService
<WebMethod()> _
Public Function DoThis() As String
Dim pg As Page = DirectCast(HttpContext.Current.Handler, Page)
Dim txtb As HtmlButton = New HtmlButton()
txtb.InnerText = "my bu-----tton"
pg.Form.Controls.Add(txtb)
Return "added"
End Function
End Class
答案 0 :(得分:3)
webserivce的工作不是控制页面。
使用您的web服务来决定是否应该向页面添加一些控件,但是将控件添加到Page的代码必须在Page内。
如果是通用代码,可以将其添加到公共类或辅助函数中。
将Web服务视为可以通过Web调用,传递参数和接收已处理值的方法。
向页面添加控件并不能很好地满足Web服务的目的。