【发布时间】:2013-10-01 08:00:26
【问题描述】:
我的 asp.net 项目中有这样的课程:
public class CenterInfo
{
public int ID { get; set; }
public string CenterName { get; set; }
}
我有一个下拉列表(包含DataTextField="CenterName" DataValueField="ID"),其中有一个CenterInfo 列表作为数据源,我尝试以这种方式在代码后面的下拉列表中选择一个项目:
CenterDropDownList.SelectedValue = Student.CenterID.ToString();
但它不起作用,因为下拉值实际上是 int 类型,而选定的值是 string 类型。我该怎么办?
我的 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>
【问题讨论】:
-
你可以设置 SelectedItem 或 SelectedIndex 来代替
-
这必须工作。或者你得到什么错误?并检查 Student.CenterID 中是否有任何值。让我知道问题
-
我试过 DropDownList.Items.FindByValue 但也没有用。当我绑定我的下拉列表时,会出现一个错误,指出(例如)CenterDropDownList 没有值为“3”的项目(因为该项目的值是 3 而不是“3”)
-
“但它不起作用”没有提供足够的信息来帮助您。您的代码行应该在 DDL 数据绑定后运行
-
我解释它得到一个错误,因为我的下拉列表没有一个带有“3”作为值的项目,因为项目的值是 3(int not string);