0

aspxに次のドロップダウンがあります。

<aspx:DropDownList
ID="ddl1"
runat="server"/>

コードビハインド(C#)で、DropDownListから値を取得したいと思います。

ドロップダウンに次のように入力しました。

ddl1.DataSource = LocationOfData;
ddl1.DataBind();

LocationOfDataは、CustomTypeタイプを返します。編集:CustomTypeは列挙型です。

私は次のことを達成できるようになりたいです:

CustomType? myvar = ddl1.Text

つまり、CustomTypeを使用してnull許容変数を作成し、ドロップダウンからの変数と等しくなるように設定します。しかし、私が取得できるタイプは、ddl1からのみテキスト(文字列)です。

4

2 に答える 2

1

が列挙型の場合CustomType、最初に列挙型に解析ddl1.Textしてから、Nullable型にキャストする必要があります。

CustomType? myvar = (CustomType?) Enum.Parse(typeof(CustomType), ddl1.Text, true)
于 2012-10-09T21:54:15.113 に答える
0

CustomTypeがの場合enum、列挙型の名前をバインドする代わりに、列挙型の値にバインドするときにドロップダウンリストの値を設定しますbyte。次に、にキャストしようとしているときはCustomType、次のようにすることができます。

CustomType myvar = (CustomType)byte.Parse(ddl1.Text);

最初にチェックを実行して、null許容型を作成します。私はあなたの基準が何であるかわかりませんが:

CustomType? myvar;
if(/*Criteria*/)
{
    myvar = (CustomType)byte.Parse(ddl1.Text);
}
else
{
    myvar = null;
}
于 2012-10-09T21:56:13.723 に答える