0

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

“无法通过引用转换、装箱转换、拆箱转换、包装转换或空类型转换将类型 'string' 转换为 'System.Web.UI.HtmlControls.HtmlSelect'”

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

protected void RptFaqsAnswer_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    ...
    (e.Item.FindControl("myselect").ClientID as HtmlSelect).Items[0].Attributes.Add("display", "none");
    ...
}

在 .aspx 页面中,我将此选择标记作为“中继器”的子标记。

<asp:Repeater ID="rptFaqsAnswer" runat="server" OnItemDataBound="RptFaqsAnswer_ItemDataBound">
    <select runat="server" id="myselect">
        <option value="c1">Choice 1</option>
        ...
    </select>
</asp:Repeater>

这个错误的原因似乎是什么。

谢谢

Rj

4

1 回答 1

1

试试这个

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

代替

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

这是ClientID您尝试转换的原因,这就是您收到错误的原因

于 2012-08-30T02:15:42.613 回答