我在DataGrid控件中用DropDownList,写法如下:<asp:DropDownList id="onename" Runat="server" DataSource="<%#dv%>" DataTextField="class1_name" DataValueField="class1_name" SelectedIndex='<%# DataBinder.Eval(Container.DataItem, "class1_name") %>'></asp:DropDownList>报错:“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------指定的转换无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidCastException: 指定的转换无效。源错误:
行 37: </ItemTemplate>
行 38: <EditItemTemplate>
行 39: <asp:DropDownList id="onename" Runat="server" DataSource="<%#dv%>" DataTextField="class1_name" DataValueField="class1_name" SelectedIndex='<%# DataBinder.Eval(Container.DataItem, "class1_name") %>'>
行 40: </asp:DropDownList>
行 41: </EditItemTemplate>
源文件: E:\aspnet\manage\manageclass2.aspx 行: 39
--------------------------------------------------------------------------------指定的转换无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidCastException: 指定的转换无效。源错误:
行 37: </ItemTemplate>
行 38: <EditItemTemplate>
行 39: <asp:DropDownList id="onename" Runat="server" DataSource="<%#dv%>" DataTextField="class1_name" DataValueField="class1_name" SelectedIndex='<%# DataBinder.Eval(Container.DataItem, "class1_name") %>'>
行 40: </asp:DropDownList>
行 41: </EditItemTemplate>
源文件: E:\aspnet\manage\manageclass2.aspx 行: 39
解决方案 »
- 前台如何调用后台登陆用户名
- asp.net中2的1024次方就是正无穷大了,请教高手如何转成字符串显示
- js将json转为二维数组
- 如何将DataSet 中的table 中的数据导入到access中
- ===100分求用mapxtreme做的例子===
- DataGrid中内嵌DropDownList的绑定问题
- catharsis框架问题
- 如何用ASP.NET从一台服务器上往另一台服务器上上传文件(急!!!在线等...)
- --------using的问题,兄弟们来看看呀!------------
- 窗体验证 用户注销的问题
- buttonclick为什么第一次不执行?
- .net不能打开项目了,出现http/1.0 503 service unavailable .都重装.net了。就差重装系统了。
最好不要这么写,写在后台代码里
</asp:DropDownList>后台代码Page_Load:this.onename.DataSource=dv;
this.onename.DataTextField="class1_name";
this.onename.DataValueField="class1_name";
this.onename.DataBind();
上述语句中,SelectedIndex数据格式为INT,而后面的值格式为string,所以出现"指定的转换无效"错误.
你可尝试改为:
SelectedValue='<%# DataBinder.Eval(Container.DataItem, "class1_name") %>'不过,下拉框好像不能直接在把选定的项进行绑定.
e:\aspnet\manage\manageclass2.aspx.cs(98,4): error CS0117: “localhost.manage.manageclass2”并不包含对“onename”的定义
e:\aspnet\manage\manageclass2.aspx.cs(99,4): error CS0117: “localhost.manage.manageclass2”并不包含对“onename”的定义
e:\aspnet\manage\manageclass2.aspx.cs(100,4): error CS0117: “localhost.manage.manageclass2”并不包含对“onename”的定义
e:\aspnet\manage\manageclass2.aspx.cs(101,4): error CS0117: “localhost.manage.manageclass2”并不包含对“onename”的定义
<asp:DropDownList id="onename" Runat="server" DataSource="<%#dv%>" DataTextField="class1_name" DataValueField="class1_name" SelectedValue='<%# DataBinder.Eval(Container.DataItem, "class1_name").ToString()%>'>
</asp:DropDownList>