1

こんにちは、2 つのテキスト ボックスを含む単純な aspx ファイルと、textbox2 に接続された ajax オートコンプリート エクステンダーがあります。

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="test4.aspx.vb" Inherits="test4" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<form id="form1" runat="server">
<div id="content">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:TextBox ID="TextBox1" runat="server">
    </asp:TextBox><br />
    <asp:TextBox ID="TextBox2" runat="server">
    </asp:TextBox>
</div>
<asp:AutoCompleteExtender ID="load_textBox2" TargetControlID="TextBox2" ServiceMethod="GetModelName"
    UseContextKey="True" runat="server">
</asp:AutoCompleteExtender>
</form>
</body>
</html>

私がやろうとしているのは、aspx.vb から pagemethod "GetModelName" を呼び出して、textbox2 に関連データを入力することです。これは aspx.vb コードです。

Imports System.Web.Services

Partial Class test4
Inherits System.Web.UI.Page
Dim Model_Name_old As String()()
Dim mod_code As String()
Dim mod_name As String()
Dim cod_upper As Integer

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    //calling webservice that retunrs a jagged array
    Dim ins As New localhost_insert_model.dbModel

    Model_Name_old = ins.get_Model_Name("A")

    mod_code = Model_Name_old(0)
    mod_name = Model_Name_old(1)
    cod_upper = Model_Name_old(0).GetUpperBound(0)
End Sub
<WebMethod()>
Public Function GetModelName() As String()
    Return mod_name
End Function

End Class

これは機能しません..どうすれば機能しますか???.

4

1 に答える 1

2

関数を共有する必要があります。

<WebMethod()>
Public Shared Function GetModelName() As String()
    Return mod_name
End Function

EnablePageMethods="true"スクリプトマネージャータグで確認してください。

于 2011-02-18T04:56:56.900 に答える