0

ページ ロード内から Web サービスを呼び出す場合、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サービスの仕事は、ページを制御することではありません。

Webサービスを使用して、一部のコントロールをページに追加するかどうかを決定しますが、コントロールをページに追加するコードはページ内にある必要があります。

共通コードの場合は、共通クラスまたはヘルパー関数に追加できます。

Webサービスは、Webを介して呼び出し、パラメーターを渡し、処理された値を受け取ることができるメソッドと考えてください。

ページにコントロールを追加することは、Webサービスの目的にはあまり適していません。

于 2012-08-20T10:39:34.323 に答える