0

asp.net プロジェクトに次のようなクラスがあります。

  public class CenterInfo
    {
        public int ID { get; set; }
        public string CenterName { get; set; }
    }

そして、データソースとして CenterInfo のリストを持つドロップダウンリスト ( contains DataTextField="CenterName" DataValueField="ID") があり、この方法でコードビハインドでドロップダウンリストの項目を選択しようとしました:

CenterDropDownList.SelectedValue = Student.CenterID.ToString();

ドロップダウン値は実際にはint型であり、選択された値は文字列型であるため、機能しません。そのために何ができますか?

私のaspx:

 <asp:DropDownList ID="CenterNameDropDownList" runat="server" CssClass="requestdropdownlist" OnSelectedIndexChanged="CenterNameDropDownList_SelectedIndexChanged" DataTextField="CenterName" DataValueField="ID" ></asp:DropDownList>

そしてcs:

   CenterNameDropDownList.DataSource = Data.CenterDB.GetCenterByCityId(city.ID);
                CenterNameDropDownList.DataBind();

および関連するレンダリングされた html :

  <select name="ctl00$ContentsPlaceHolder$CenterNameDropDownList" id="ContentsPlaceHolder_CenterNameDropDownList" disabled="disabled" class="aspNetDisabled requestdropdownlist">
    <option selected="selected" value="1">سمنان : شهید عاملو</option>
    <option value="2">سمنان : شهید مطهری</option>
    <option value="3">سمنان : حکیم الهی</option>
    <option value="4">سمنان : شهید قندی</option>
    <option value="9">سمنان : جهادیه</option>
    <option value="47">سمنان : اعلاء</option>
    <option value="48">سمنان : اروانه</option>
    <option value="49">سمنان : بیابانک</option>
    <option value="50">سمنان : ایج</option>
    <option value="51">سمنان : خیرآباد</option>
    <option value="52">سمنان : لاسجرد</option>
    <option value="53">سمنان : پایگاه هوایی</option>
    <option value="54">سمنان : شهرک صنعتی سمنان</option>
    <option value="56">سمنان : آبخوری Wll</option>
    <option value="57">سمنان : اعلا Wll</option>
    <option value="58">سمنان : اسدآباد Wll</option>
    <option value="59">سمنان : دلازیان Wll</option>
    <option value="60">سمنان : دزهير Wll</option>
    <option value="61">سمنان : جام Wll</option>
    <option value="62">سمنان : خیرآباد Wll</option>
    <option value="63">سمنان : مومن آباد Wll</option>
    <option value="64">سمنان : افتر</option>
    <option value="65">سمنان : مومن اباد</option>
    <option value="175">سمنان : مهر 1 سمنان</option>
    <option value="177">سمنان : پشتیبانی سیستم جامع</option>
    <option value="182">سمنان : آزمایشی</option>
    <option value="191">سمنان : سمنان - مرکز مهر 2</option>

</select>
4

4 に答える 4

0

私はこれを置き換えます:

CenterNameDropDownList.DataSource = Data.CenterDB.GetCenterByCityId(city.ID);

これとともに:

 foreach (CenterInfo centerInfo in Data.CenterDB.GetCenterByCityId(city.ID))
                {
                    ListItem listitem = new ListItem();
                    listitem.Value = centerInfo.ID.ToString();
                    listitem.Text = centerInfo.CenterName;
                    CenterNameDropDownList.Items.Add(listitem);
                }

それは機能しますが、本当に他に方法はありませんか?

于 2013-10-01T09:30:37.253 に答える
0

これがあなたが必要とするものであることを願っています。

Student.CenterID = Convert.toInt32(CenterDropDownList.SelectedValue); 
于 2013-10-01T08:15:24.680 に答える
0

ドロップダウンリストはこのようにバインドする必要があります

CenterDropDownList.DataSource = centerInfoList;
CenterDropDownList.DataTextField = "CenterName";
CenterDropDownList.DataValueField = "ID";
CenterDropDownList.DataBind();

このコードの後、あなただけができる

CenterDropDownList.SelectedValue = Student.CenterID.ToString();

または

CenterDropDownList.Items.FindByValue(Student.CenterID.ToString()).Selected = true;

そして、Student.CenterID の値が CenterDropDownList の ID フィールドにあることを確認してください。

試してみて、私に知らせて..

于 2013-10-01T08:38:05.213 に答える