0

ホームページフォーム

<form id="form1" runat="server">
    Search your keyword
    <asp:TextBox ID="search" onkeydown="javascript:doAJAX(this.value)"  runat="server">
    </asp:TextBox>
</form>

テキストボックス検索キーワードのコードです。キーが押されると、私のコードは前に入力されたキーを送信しています。現在のキーを取得するにはどうすればよいですか? doAJAX関数 inturn は別の aspx ページを呼び出し、このページにデータを設定します。

Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

    Try
        'Response.ContentType = "application/xhtml+xml"
        'Build CategoriesList
        Dim strSQL As String
        Dim Mytable As DataTable
        strSQL = "exec GetAJAXSearchResults '"
        strSQL &= Request("keyword")
        strSQL &= "', " & AppSettings("SiteId")
        Mytable = myLib.GetData(strSQL)



        For Each row As DataRow In Mytable.Rows
            'strChartList &= row.Item("title") & "<br/>"
            strChartList &= row.Item("PID") & "  " & row.Item("title") & "<br/>"
        Next row

        strChartList &= "</p>"

これは、プロシージャの詳細を含む aspx コードです... for の前に if ステートメントを入れようとしましたが、機能しませんでした..

4

1 に答える 1

3

コンテンツが変更された後に発生するように変更onkeydownしますonkeyup

このリンクを参照してください。イベントの順序:keydown(記号はまだ挿入されていません)、keypress(記号が挿入された瞬間)、keyup-記号が挿入された後

'Response.ContentType = "application/xhtml+xml"
    'Build CategoriesList
    Dim strSQL As String
    Dim Mytable As DataTable
    strSQL = "exec GetAJAXSearchResults '"
    strSQL &= Request("keyword")
    strSQL &= "', " & AppSettings("SiteId")
    strChartList &= "<p>" // see no opening tag in your code.
    If Not String.IsNullOrEmpty(Request("keyword")) And Request("keyword").Length() > 1 Then
      Mytable = myLib.GetData(strSQL)



       For Each row As DataRow In Mytable.Rows
          'strChartList &= row.Item("title") & "<br/>"
          strChartList &= row.Item("PID") & "  " & row.Item("title") & "<br/>"
      Next row
    End If
    strChartList &= "</p>"

上記のようなものでなければなりません。申し訳ありませんが、ステートメントがVBからのものでない場合、VBでどのように表示されるかについての詳細を覚えていません。C#をVBに変換できることを願っています

于 2012-09-05T12:15:03.660 に答える