0

如果我从页面加载内部调用 webservise,如何让我的 ASP.net Web 服务向我的页面添加控件?

下面是我的代码的一个非常简化的版本。谢谢

''''''''''''''''''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
4

1 回答 1

3

网络服务的工作不是控制页面。

使用您的 Web 服务来决定是否应将某些控件添加到 Page,但将控件添加到 Page 的代码必须在 Page 内部。

如果是通用代码,可以添加到通用类或辅助函数中。

将 Web 服务视为您可以通过 Web 调用、传递参数和接收处理值的方法。

向页面添加控件并不能很好地满足 Web 服务的目的。

于 2012-08-20T10:39:34.323 回答