Asp.net e.Item.FindControl(";ID";)中的错误。ClientID为HtmlSelect

Asp.net e.Item.FindControl(";ID";)中的错误。ClientID为HtmlSelect,asp.net,html-parsing,Asp.net,Html Parsing,我有这个错误,不知道是什么错误 “无法将类型“string”转换为 “System.Web.UI.HtmlControls.HtmlSelect”通过引用转换, 装箱转换、取消装箱转换、换行转换或null “类型转换” 导致上述错误的代码如下所示: protected void RptFaqsAnswer_ItemDataBound(object sender, RepeaterItemEventArgs e) { ... (e.Item.FindControl("myselec

我有这个错误,不知道是什么错误

“无法将类型“string”转换为 “System.Web.UI.HtmlControls.HtmlSelect”通过引用转换, 装箱转换、取消装箱转换、换行转换或null “类型转换”

导致上述错误的代码如下所示:

protected void RptFaqsAnswer_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    ...
    (e.Item.FindControl("myselect").ClientID as HtmlSelect).Items[0].Attributes.Add("display", "none");
    ...
}
在.aspx页面中,我将此select标记作为“repeater”的子项


选择1
...
这一错误的原因似乎是什么

谢谢

Rj

试试这个

e.Item.FindControl("myselect") as HtmlSelect
而不是

e.Item.FindControl("myselect").ClientID as HtmlSelect

这是您试图转换的
ClientID
,这就是为什么会出现错误的原因

我尝试了您的代码,它可以正常工作。但不知何故,我想隐藏的选项仍然显示在IE中,即使它的属性设置为style=“display:none;”这似乎有什么错误?你做了什么,我认为它看起来像这样,而它应该是
尝试
tag.style.Add(“display”,“none”)
tag.Attributes.Add(“CssClass”,“hidden”)
项[]旁边没有“标记”属性。我应该如何实施它?感谢您的情况,
标签
应该替换为
项目[0]
。i、 e.
项[0]。样式。添加(“显示”、“无”)
e.Item.FindControl("myselect").ClientID as HtmlSelect