aspx ページに page Page メソッドを記述しました。Web サービス メソッドでは、FindControl メソッドを呼び出してテキスト ボックスを返し、テキスト ボックスの値を取得する必要があります。しかし、私の findControl は MasterPage オブジェクトを使用して反復します。
私のコードを見てください
<script type = "text/javascript">
function ShowCurrentDateTime() {
$.ajax({
type: "POST",
url: "HRDefault.aspx/GetDate",
data: '',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function(response) {
alert(response.d);
}
});
}
function OnSuccess(response) { }
</script>
<System.Web.Services.WebMethod()> _
Public Shared Function GetDate() As String
Dim txt22_2 As TextBox = CType(RenderControls.FindControlRecursive
(Page.Master, "txt22_2"), TextBox)
Dim str As String
str = txt22_2.Text
Return String.Empty
End Function
しかし、使用するとコンパイラエラーが発生しますPage.Master
:
非共有メンバーへの参照にはオブジェクト参照が必要です
マスターページオブジェクトまたはページをページメソッドに渡す方法?. したがって、Sared メソッドで使用できます。
PageメソッドでTextboxの値に直接アクセスする方法はありますか? Page Method のいくつかのコントロールにアクセスする必要があります。