日期:2014-05-18  浏览次数:20473 次

GridView的参数问题。急!!!
错误信息:
输入字符串的格式不正确。
说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:   System.FormatException:   输入字符串的格式不正确。
源错误:
执行当前   Web   请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  
我找到错误来源了:
我试了把GridView1删除就没事了。
<asp:SqlDataSource   ID= "SqlDataSource1 "   runat= "server "   ConnectionString= " <%$   ConnectionStrings:voteConnectionString   %> "
SelectCommand= "SELECT   [VO_Text],   [VO_Point]   FROM   [z_VoteOptions]   WHERE   ([Vote_ID]   =   @Vote_ID) ">
GridView1   的   DataSourceID= "SqlDataSource1 "
我想是   GridView1没有获得@Vote_ID这个参数,
请问怎么手动代码输入这个参数。

------解决方案--------------------
<asp:SqlDataSource ID= "SqlDataSource1 " runat= "server " ConnectionString= " <%$ ConnectionStrings:voteConnectionString %> "
SelectCommand= "SELECT [VO_Text], [VO_Point] FROM [z_VoteOptions] WHERE ([Vote_ID] = @Vote_ID) ">
<SelectParameters>
//自己选择参数种类
</SelectParameters>
</asp:SqlDataSource>
------解决方案--------------------
可以用绑定隐藏控件,SESSION之类的方法来赋值,手动输入的话刷新后参数值还要再赋一次很麻烦
------解决方案--------------------
可以在设置参数的时候设置参数来源

如果需要手动传参,个人感觉不如自己写连接不用数据源,或者使用ObjectDataSource(灵活且适用于多层)

对于LZ的报错,感觉不是无法识别@Vote_ID的问题,如果无法识别,GridView就不显示,不会出错。