3

次のように、dataTable にバインドされたドロップダウン リストがあります。

MatID  MatName   MatGroupID
1       Mat1       11
2       Mat2       22
3       Mat3       33
 <asp:DropDownList ID="DropDownList_MAT" runat="server" AutoPostBack="true" OnSelectedIndexChanged="UpdateDetails" DataTextField="MatGroupID" DataValueField="Matname"  />
 <asp:Label ID="Label_StaticMatName" runat="server" />

コード:

protected void UpdateDetails(object sender, EventArgs e)
{
 Label_StaticLockGroupName.Text = DropDownList_MAT.SelectedItem.Value;
}

MatGroupID は DataTextField として割り当て、DataValueField は MatName です。ドロップダウンで値を選択すると、テキストフィールドに値フィールドとMatIDが必要です。ユーザーが毎回ドロップダウン値を選択するときに MatID を維持するにはどうすればよいですか

4

2 に答える 2

2

Mat のクラス (MatGroupId と MatId も含む) を作成するため、クラスから一意の ID を DataValue として保存するだけで、後で一意の ID からクラスを取得し、保存されているすべてのデータを複数の DataValueField を格納できないためです。

他のオプションは、次のような文字列を作成することです。

 string value = "1" + "#" + "Mat1" + "#" + "11";

後で次を使用して分割できます。

 string MatId = value.Split('#')[0];
 string MatName = value.Split('#')[1];
 string MatGroupId = value.Split('#')[2];
于 2013-04-25T05:32:20.220 に答える