无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型……

用GridView时,有用“编辑”,点“更新”后出现错误:无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型“System.We... 用GridView时,有用“编辑”,点“更新”后出现错误:
无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型“System.Web.UI.WebControls.DropDownList”。
在后台未用Literal <asp:TemplateField HeaderText="模板">
<EditItemTemplate> <asp:DropDownList ID="Ddl_Template" runat="server" AppendDataBoundItems="True"Enabled="True">
<asp:ListItem Value="0">通用</asp:ListItem></asp:DropDownList> </EditItemTemplate>
<ItemTemplate> <asp:DropDownList ID="Ddl_Template" runat="server" AppendDataBoundItems="True" Enabled="False"> <asp:ListItem Value="0">通用</asp:ListItem> </asp:DropDownList> </ItemTemplate></asp:TemplateField>
string id = Gvw_List.DataKeys[e.RowIndex]["id"].ToString(); string classname = ((TextBox)Gvw_List.Rows[e.RowIndex].Cells[1].Controls[0]).Text; string templateid = ((DropDownList)Gvw_List.Rows[e.RowIndex].Cells[2].Controls[0]).SelectedValue; string strSQL = "update nts_infoclass set classname='" + classname + "',templateid="+templateid+" where id=" + id;
DataClass.ExecCommand(strSQL); Gvw_List.EditIndex = -1;
展开
 我来答
skywalker380
2008-05-26 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:125万
展开全部
同意楼上的说法,肯定在后台“编辑“的响应事件中,添加了类似FindControl的方法,但是在类型转换的时候,强制转换的类型和原有的类型不符!
具体的说,就是你讲System.Web.UI.LiteralControl转换成System.Web.UI.WebControls.DropDownList了!
谈指菩提
2008-05-29 · TA获得超过2405个赞
知道大有可为答主
回答量:1073
采纳率:0%
帮助的人:1981万
展开全部
string templateid = ((DropDownList)Gvw_List.Rows[e.RowIndex].Cells[2].Controls[0]).SelectedValue;
这句,
改成:

string templateid = ((DropDownList)Gvw_List.Rows[e.RowIndex].Cells[2].FindControl("Ddl_Template")).SelectedValue;
——————————————————

你是否在后台代码里用了FindControl?看下类型强制转换是否一致。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式