今日はかなり奇妙な問題に直面しています。 選択したアイテムをリストに追加するDropDownListを作成しました。 ListはListViewにバインドされます。ASP .NET c#ListViewにデータリスト<Object>を追加DataBild
これはドロップダウンである:それは追加する必要があります一覧<>に追加されます
//This is a global variable
List<NewApplicationModels> applicationName = new List<NewApplicationModels>();
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
string value = ddlChooseNewApplication.SelectedValue.ToString();
applicationName.Add(new NewApplicationModels(){ ApplicationName = value});
ListViewNewApplications.DataSource = applicationName;
ListViewNewApplications.DataBind();
}
:項目は、それが次のコードを実行しますクリックされた
<asp:DropDownList ID="ddlChooseNewApplication" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="True">
<asp:ListItem Selected="True">Bitte wählen</asp:ListItem>
<asp:ListItem Value="windows">Windows</asp:ListItem>
<asp:ListItem Value="mail">E-Mail</asp:ListItem>
<asp:ListItem Value="app1">App1</asp:ListItem>
<asp:ListItem Value="app2">App2</asp:ListItem>
<asp:ListItem Value="app3">App3</asp:ListItem>
</asp:DropDownList>
次に、 ListViewに選択したアプリケーションを次のように表示します。
<asp:ListView ID="ListViewNewApplications" runat="server">
<ItemTemplate>
<br /><br />
<%# Eval("ApplicationName") %><br />
<asp:Label ID="Label3" runat="server" Text="Titel"></asp:Label><br />
<asp:TextBox ID="tbNewTitle" runat="server"></asp:TextBox><br /><br />
<asp:Label ID="Label4" runat="server" Text="Beschreibung"></asp:Label><br />
<asp:TextBox ID="tbNewDescription" runat="server" TextMode="MultiLine"></asp:TextBox><br /><br />
</div>
</ItemTemplate>
</asp:ListView>
ListViewへのItemが機能します。問題は、DropDownで新しいItemを選択すると、ListViewの現在のオブジェクトが上書きされることです。私は現在のItemの下に新しいItemを作成します。 間違いはどこですか?
多くのおかげで、事前に
まだデバッグモードで実行しましたか?リストビューのデータソースを設定すると、 'applicationName'リストには何がありますか? 1個以上の商品のみ? –
@ PhamX.Bach常に1つのアイテム。おそらく、アイテムを挿入する際にエラーが発生する可能性があります。何か案は? –
次に、 'applicationName'のリストは'グローバル変数 'です。定義行にデバッグフラグを置き、ドロップダウンリスト(=新しいリスト<...)を変更するたびにリセットされるかどうかを確認する必要があります。それが宣言されている場所を確認できますか?コードビハインドクラスのメンバーですか? –