解决方案 »
- 打开数据库效率问题
- Web.Config的httpHandlers配置
- VSS是什么?在开发中,开发小组里各个程序员的代码是怎么互相沟通的,用到接口多吗?
- 怎样输出一组textbox和对应的注释,求教!!
- c#中的linkbutton问题?
- 求救,关于WindowsIdentity
- [编码问题]@"\u4E2D\u56FD"如何转换成中文
- datagrid模板列绑定的数据 怎么让鼠标移动到datagrid行上背景色改变
- 帮忙找找ASP.Net TextBox控件的源码,谢谢
- ? 初学者请高手帮帮忙!!如何创建弹出消息框????谢谢!!
- NullReferenceException :未将对象引用设置到对象实例。。。
- Gridview 带横向和竖向滚动条
{
Request["id"].ToString().Trim(),
}
应该是用户传值问题
{
id = Convert.ToInt32(Request["id"].ToString().Trim());
} if (!IsPostBack && id>0)
{
//this.updateViewTimes();
this.inital();
}调整后还出现同样的问题.说Asc_Movie_Divers得不到值,再刷新连ID也获取不到了,郁闷啊,报错误如下:“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪:
[FormatException: 输入字符串的格式不正确。]
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +2755599
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +112
System.Int32.Parse(String s) +20
CNNB_HD.Divers..ctor(String iid) in F:\A\App_Code\Divers.cs:36
CNNB_HD.Asc_Movie_Divers.SetData() in F:\A\WebControl\Asc_Movie_Divers.ascx.cs:63
CNNB_HD.Asc_Movie_Divers.Page_Load(Object sender, EventArgs e) in F:\A\WebControl\Asc_Movie_Divers.ascx.cs:31
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Control.LoadRecursive() +131
System.Web.UI.Control.LoadRecursive() +131
System.Web.UI.Control.LoadRecursive() +131
System.Web.UI.Control.LoadRecursive() +131
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436
解决的方法有:
每次要使用id的值都从url里重新取得;
或者使用viewstate,比如在page_load里 viewstate["id"] = id; 在其他方法里到使用id的值的时候 id = (int)viewstate["id"];
asp.net默认情况下每次页面回发后控件的值能保持不变,就是使用viewstate来保持状态的。另外建议转换整数时使用int.tryparse,保证id含有非法字符时页面也不报错,而是返回0。
protected void Page_Load(object sender, EventArgs e)
{
string tid = string.Empty;
if (Request["id"] != null)
{
tid = Request["id"].ToString().Trim(); if(System.Text.RegularExpressions.Regex.IsMatch(tid, @"^[\d,]+$") == true)
{
if(int.TryParse(tid, out id))
{
ViewState["mid"] = id;
}
}
}
if (!IsPostBack)
{
//this.updateViewTimes();
this.inital(); }
用了IDisposable接调用GC垃圾回收站
public void Dispose()
{
GC.SuppressFinalize(this);
}