0

それぞれが SqlDataSource を指す Web フォームにいくつかの DropDownLists があります。これらのデータソースの一部は、選択パラメーターにこれらの DropDownLists の 1 つを使用し、リストを特定のカテゴリにフィルター処理します。

特定のユーザーに対して、これらの DropDownLists の 2 つが自動的に設定され、無効になります。

ドロップダウンを有効にしてフォームを送信すると正常に動作しますが、無効にすると、DropDownList の SelectedValue がリストの最初の値にリセットされます。

私の DropDownLists は次のように構成されています。

<asp:DropDownList ID="ddlManager" runat="server" DataSourceID="dsManagers"
  EnableViewState="false" DataValueField="ManagerID" DataTextField="MgrName"
  AppendDataBoundItems="false" ondatabound="ddlManager_DataBound" >

ドロップダウン リストは、次のように、データ バインド イベントに追加の項目を追加します。

protected void ddlManager_DataBound(object sender, EventArgs e)
{
  this.ddlManager.Items.Insert(0, new ListItem("--Manager--", "--Manager--"));
}

なぜこれが起こっているのか、誰かが光を当てることができますか?

ありがとう

4

4 に答える 4

1

List<>または、またはに読み取り/書き込みを行うこともできますDictionary<>。ドロップダウンリストボックスが有効になるたびに、リストをデータソースに割り当てます。DropDownList

于 2010-04-08T09:01:59.807 に答える
1

これは仕様によるものです。無効なコントロールの値は投稿されません。他のメカニズムを使用してください。

于 2010-04-08T08:09:27.020 に答える
0

有効にされていないというだけの問題だと思います。有効になっていない場合、値を保持できず、デフォルトに戻ります。

于 2010-04-08T08:12:03.500 に答える