输入字符串的格式不正确 求大神
“/”应用程序中的服务器错误。--------------------------------------------------------------------------------
输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.FormatException: 输入字符串的格式不正确。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[FormatException: 输入字符串的格式不正确。]
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +10161267
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +207
System.Convert.ToInt32(String value) +46
Hotsales.SYLP.Web.Controls.PageNavigationForPost.RaisePostBackEvent(String eventArgument) +68
Hotsales.SYLP.Web.Controls.PageNavigationForPost.OnPreRender(EventArgs e) +158
System.Web.UI.Control.PreRenderRecursiveInternal() +108
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3394
我已经调试了、没有找到任何错误。但是页面上却显示是这样。
我底层的代码是绝对没有问题了、
我没有在底层去用INT或者其他类型、只有使用了string类型。
求大神、 --------------------编程问答-------------------- 贴你出错行的代码 --------------------编程问答-------------------- 你代码中肯定是对数值进行转换了,而你要转换的内容不符合规则所以报错,比如 Convert.ToInt32("abc") --------------------编程问答-------------------- 看看 你数据库定义的字段类型 和你 现在输入的东西的类型匹配吗 --------------------编程问答-------------------- 贴出错误代码
初步判断你你所提供给参数的值于参数类型不一致导致的错误,添加断点,监控异常值的信息,可能会对你有帮助。
--------------------编程问答-------------------- string转int出错了,你的string是什么? --------------------编程问答-------------------- 问题就是我没有出错的代码行、我调试一路走下来很顺便、而我的数据库是调用的存储过程返回的一个DT。是没有参数的。求解决。
我调试的时候、是没有遇到错误的、但是页面确实黄页、提示的消息就是上面的消息。 --------------------编程问答-------------------- string type = this.hid_onload.Value;
if (type == "1")
{
//刷新免费号码
DataTable dtFree = new Hotsales.SYLP.SaleManage.BusinessFacade.Tel400System().AutoSelectFreeTel400Nums();
if (dtFree.Rows.Count > 0)
{
this.hid_onload.Value = "";
this.Repeater1.DataSource = dtFree;
this.Repeater1.DataBind();
}
}
--------------------编程问答-------------------- 存储过程贴下吧 --------------------编程问答-------------------- 我的存储过程是没有问题的、返回的DT我看过了、 --------------------编程问答-------------------- 哪个页面你应该可以知道的吧?
计算机不会撒谎的,不同的计算机数字格式不同 --------------------编程问答-------------------- 单步执行一下 --------------------编程问答-------------------- 那就是aspx中进行数字转换了,重新检查下你的aspx文件 --------------------编程问答-------------------- 贴出你的代码啊。。。 还有程序员要谨慎。 不要总肯定自己的代码没问题。 这样会耽误你debug时间的。 往往调试半天发现错误的地方就是自己最自信的地方。 --------------------编程问答-------------------- lz 不要那么自信哈。都贴出来瞧瞧,既然想找出答案,就不要吝啬几句代码了哈,贴出来 --------------------编程问答-------------------- 页面文件:
<div class="free_num" id="Optional_divTel">
<div class="title400">
免费号码<a href="#" onclick="onloadfree()">刷新</a></div>
<div class="num_list">
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li>
<div class="num400">
<input type="radio" value="<%#Eval("Tel400Num")%>,<%#Eval("NumStatus") %>" name="tel" /><span>
<a>
<%#Eval("Tel400Num")%></a></span>
</div>
</li>
</ItemTemplate>
</asp:Repeater>
</div>
CS页面的东西上面已经贴了、谢谢各位的提醒、可能是我自己的主观干扰了我自己。再全部走一遍试试。
至于存储过程返回的DT、确实是好了。我另外写了一个页面去调用时没有问题的。
我现在是点击刷新、重新绑定了DT而已。页面的初始是正常的。 --------------------编程问答-------------------- DataTable dtFree = new Hotsales.SYLP.SaleManage.BusinessFacade.Tel400System().AutoSelectFreeTel400Nums(); 这里面有错吧 --------------------编程问答-------------------- 我调式过了 返回的DT是正常的啊
--------------------编程问答-------------------- RaisePostBackEvent
是不是事件参数写错了 --------------------编程问答-------------------- 格式问题应该检查传入的是否匹配。 --------------------编程问答-------------------- 最后发现、是因为自己的页面调用了2个分页控件而造成的。谢谢各位。
补充:.NET技术 , ASP.NET