gpt4 book ai didi

c# - 在转发器控件中获取选定的下拉列表值

转载 作者:行者123 更新时间:2023-11-30 19:32:01 25 4
gpt4 key购买 nike

我在转发器控件中有一个下拉列表,我试图获取它的值,但我得到“对象引用未设置为对象的实例”。我不确定还能尝试什么。谢谢

ASPX 代码:

   <asp:Repeater ID="GeneralRepeater" runat="server" 
OnItemDataBound="GeneralRepeater_OnItemDataBound"
onitemcommand="GeneralRepeater_ItemCommand">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<tr>
<td class="style2">
</td>
<td class="style2">
<asp:DropDownList ID="GeneralDDL" AppendDataBoundItems="true" DataTextField="DiagnosisCode"
DataValueField="DiagnosisCode" runat="server" AutoPostBack="True" />
</td>

</tr>
</ItemTemplate>
<FooterTemplate></FooterTemplate>
</asp:Repeater>
</asp:Panel>

代码隐藏:

protected void GeneralRepeater_OnItemDataBound(object sender,
RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
DropDownList myDDL = (DropDownList)e.Item.FindControl("GeneralDDL");
Diagnosis oDiagnosis = new Diagnosis();
DataView dv = new DataView(oDiagnosis.GetDiagnosis());
myDDL.DataSource = dv;
myDDL.DataTextField = "DiagnosisCode";
myDDL.DataValueField = "DiagnosisCode";
myDDL.DataBind();

}
}

protected void cmdSave_Click(object sender, EventArgs e)
{
string ProductSelected;
string FeatureSelected;
string SectionSelected;


foreach(RepeaterItem dataItem in GeneralRepeater.Items)
{
ProductSelected = ((DropDownList)GeneralRepeater.FindControl("GeneralDDL")).SelectedItem.Text; //error Object reference not set to an instance of an object.
}
}

我在保存所选值时遇到问题..

最佳答案

我在代码中发现您正在循环遍历 generalrepeater 项目。您正在将转发器项目作为数据项访问。我在这里试用了这段代码,理想情况下你的代码应该是

foreach(RepeaterItem dataItem in GeneralRepeater.Items)        
{
ProductSelected = ((DropDownList)dataItem.FindControl("GeneralDDL")).SelectedItem.Text; //No error
}

代替

foreach(RepeaterItem dataItem in GeneralRepeater.Items) 
{
ProductSelected = ((DropDownList)GeneralRepeater.FindControl("GeneralDDL")).SelectedItem.Text; //error Object reference not set to an instance of an object.
}

关于c# - 在转发器控件中获取选定的下拉列表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6053120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com