0

この質問が基本的なものであると思われる場合は申し訳ありませんが、途方に暮れています。私はプログラミングに不慣れですが、自分自身を失うのに十分な知識を持っています。基本的に、ドロップダウンリストとリピーターリストがあります。カテゴリドロップダウンが変更されたときにリストを変更するにはどうすればよいですか。これはC#です。

ドロップダウンのコードは次のとおりです。

protected void PopulateCategories()
{
    category myCategory = new category();
    category[] myCategoryList = myCategory.Listing("title ASC");

    ddlCategories.Items.Add("-- Select a category --");
    ddlCategories.Items.Add("View all categories");

    foreach (category category in myCategoryList)
    {
        ListItem item = new ListItem(category.title, category.category_id);
        ddlCategories.Items.Add(item);
    }
}

さらに詳しい情報が必要な場合はお問い合わせください。私はこれに不慣れであり、私が得ることができるどんな助けにも感謝します。前もって感謝します!

4

2 に答える 2

1

ここにはいくつかのオプションがあります。

ドロップダウンリストコントロールで、OnSelectedIndexChangedハンドラーを追加できます。このハンドラーは、新しいリストをデータバインディングすることでリピーターを更新できます。

これは簡単ですが、ポストバックが必要なため、クライアント側ではそれほど洗練されていません。

もう1つの方法は、イベントハンドラーをドロップダウンリストにアタッチしてJavaScriptでこれを処理し、ドロップダウンリストがリストを更新することです。これはユーザーにとってより良いエクスペリエンスになりますが、すべてのカテゴリのすべてのデータをページに配置するか、ドロップダウンの変更に応じてそれらを要求するには、もう少し手間がかかります。

于 2012-09-07T22:01:11.887 に答える
1

SelectedIndexChangedドロップダウンリストにイベントを追加する必要があります

public void ddlCategories_SelectedIndexChanged(object sender, EventArgs e)
{
    //Load Repeater code goes here
}

マークアップでドロップダウンリストを定義する場合:

<asp:DropDownList id="ddlCategories" runat="server" 
    OnSelectedIndexChanged="ddlCategories_SelectedIndexChanged" 
    AutoPostBack="true />
于 2012-09-07T22:02:25.583 に答える