0

画面にオブジェクトをドロップする動的モジュールを作成しようとしています。次に、jQueryダイアログが開き、3つのドロップダウンリストが表示されます。最初のドロップダウンリストで値を選択すると、Ajaxを介して次のリストの結果をフィルタリングしようとしています。

これは私のJSコードです:

$("#ddlTableType").live(
        'change',
        function() 
        { 
            var GetTablesCodes = $.ajax({
                url:'AjaxActions/TableCodes.aspx?ObjectType=' + $("#ddlTableType").val(),
                async:false                 
            }).responseText; 
          //alert(GetTablesCodes);
          //alert(GetTablesCodes.$('#hidCodesList').val());
          //alert($('#hidCodesList').val());
        }
   );

ASP.NETページでは、次のことを行っています。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TableCodes.aspx.cs" Inherits="AjaxActions_TableCodes" %>

<form id="form1" runat="server">
     <asp:HiddenField ID="hidCodesList" runat="server" />
</form>

このページの背後にあるコード:

public partial class AjaxActions_TableCodes : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
    DataSet dsCodesList = DbHelper.ExecuteDataSet(
                        ConfigurationManager.AppSettings["ConnStr"],
                        "spObjectCodesByTYpe_Select",
                        new SqlParameter("@ObjectType", Request.QueryString["ObjectType"])
                );

    hidCodesList.Value = "";
    for(Int16 CodeListIndex=0;CodeListIndex<dsCodesList.Tables[0].Rows.Count;CodeListIndex++)
    {
        hidCodesList.Value += dsCodesList.Tables[0].Rows[CodeListIndex]["Value"].ToString() + ",";
    }
}

}

アラートの最初の呼び出しで、ページ全体を取得します。その中で、私は必要なデータで満たされた隠しフィールドを見ることができます。このデータを抽出するにはどうすればよいですか?最後に、すべてのドロップダウンリストがJDialogにあるため、問題が発生している可能性があります。

4

1 に答える 1

1

ASP.NETjQueryおよびカスケードドロップダウンリストに関する一般的な回答

あなたの質問から私が識別できるのは、あなたが作成しようとしているユーザーエクスペリエンスは、一連のカスケードドロップダウンリストを含むモーダルポップアップ(jDialog経由)です。このパラダイムを使用するには、かなりの数の方法があります。「カスケードドロップダウンリストasp.net 」という検索用語を使用すると、さまざまなソリューションを実践する方法に関する多くの例が得られます。

ここに役立つかもしれないいくつかの記事があります

あなたの問題により具体的に

基本的に、3つのドロップダウンリストを含むjDialogを介してモーダルポップアップをロードする必要があります。onchange最初のドロップダウンのイベントにバインドする必要があります。バインドされた関数は、jQueryを使用して、次のドロップダウンに入力するデータを返すWebメソッドを呼び出す必要があります。

[編集]
上記のリンク先の記事(jQueryとJSONを使用したASP.NetでのカスケードDropDownListの構築)は、JSONとjQueryオブジェクトのappendメソッドを介してドロップダウンリストにオプションを追加する方法の例を示しています。関連する追加コードを取り出しました。

$("#ddlCities").append($("<option></option>").val(this['ID']).html(this['City']));

[/編集]

于 2010-10-02T19:17:34.800 に答える