最近发现一个怪问题
index页 有一些文章标题连接(添入DAGAGIRD)
点开后 如果没有session
则
if (Session["com_uname"]==null|| Session["com_uname"].ToString()=="")
{
HyperLink1.Visible=false;}login登陆后 记录session
HyperLink1.Visible=true;
问题出来了当从index直接到login的时候(请注意 这时 该站点只有一个login页)
登陆后 正常 有session HyperLink1看到了但是 如果开着index页 并且新打开login页 登陆后(请注意 这时 该站点只有2个页 index,login)
再读index页的时候 HyperLink1依然Visible=false
这是什么原因?而另外一个显示页 基本和这个一样
居然报错
----------
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
HyperLink1.Visible=false;
------------------------------------------------
附显示页部分代码
private void Page_Load(object sender, System.EventArgs e)
{
if (Session["com_uname"]==null|| Session["com_uname"].ToString()=="")
{
HyperLink1.Visible=false;
HyperLink2.Visible=false;
}
string newsid = Request.QueryString["uname"].ToString().Trim();
SqlConnection MyConnection =new SqlConnection(ConfigurationSettings.AppSettings["cnFriends.ConnectionString"]);
string strSel1 = "UPDATE person SET click=click+1 WHERE uname='"+newsid+"'";
SqlCommand myCommand= new SqlCommand("proc_per_list",MyConnection);
myCommand.CommandType=CommandType.StoredProcedure;
SqlParameter uid=new SqlParameter("@uname",SqlDbType.VarChar,10);
uid.Value=newsid;
myCommand.Parameters.Add(uid); SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand);
MyConnection.Open();
SqlCommand myCommand1= new SqlCommand(strSel1,MyConnection);
myCommand1.ExecuteNonQuery();
myCommand.ExecuteNonQuery();
DataSet ds = new DataSet();
myAdapter.Fill( ds,"Table1" );
Repeater1.DataSource = ds.Tables["Table1"].DefaultView;
Repeater1.DataBind();
string strSel = "Select * from person where uname='"+newsid+"'";
SqlCommand myCommand2= new SqlCommand(strSel,MyConnection);
SqlDataReader dr = myCommand2.ExecuteReader();
if (dr.Read()==true)
{
string id=dr["id"].ToString();
string uname=dr["uname"].ToString();
dr.Close();
HyperLink1.NavigateUrl="company1/addfav.aspx?id="+id;
HyperLink2.NavigateUrl="company1/MAIL_SEND.aspx?reid="+uname; }
dr.Close();
MyConnection.Close();
解决方案 »
- byte转换成float
- 用PictrueBox控件做提交按钮,能否触发验证控件?在线等。。。
- 如何使用COM组件在64位Windows Server 2003 下正常运行?
- 在webbrowser中如何不让加载的html页面执行脚本window.close()
- 关于DataSet临时表里取得数据问题
- .net 2003中使用了企业程序库后发布时出现了无法使用的问题,怎么办???
- “深度软件安装管理”的界面用什么控件实现
- 在C#程序中根据选择的文件类型,调用系统关联的编辑器,打开/编辑文件。
- 关于wap程序的问题。
- 请问自已做出来的控件如何加个好看的图标呀,那个齿轮实在是太难看拉.......
- ####刚学完C#的基础知识,将来要用ASP.NET做中型网站,现在应该先用C#写点小程序还是真接学ASP.NET?####
- 高手救命,请回答我一个C#问题
if (!Page.IsPostBack)
{
...你的代码
}
{
if(!this.IsPostBack)
{
if (Session["per_uname"]==null|| Session["per_uname"].ToString()=="")
{
HyperLink1.Visible=false;
HyperLink2.Visible=false;
}
string newsid = Request.QueryString["uname"].ToString().Trim();
SqlConnection MyConnection =new SqlConnection(ConfigurationSettings.AppSettings["cnFriends.ConnectionString"]);
string strSel = "Select * from zp where uname='"+newsid+"'";
string strSel1 = "UPDATE zp SET click=click+1 WHERE name='"+newsid+"'";
string strSe2 = "Select * from company where uname='"+newsid+"'";
SqlCommand myCommand= new SqlCommand(strSel1,MyConnection);
SqlDataAdapter myAdapter = new SqlDataAdapter(strSel ,MyConnection);
SqlDataAdapter myAdapter2 = new SqlDataAdapter(strSe2 ,MyConnection);
MyConnection.Open();
myCommand.ExecuteNonQuery(); DataSet ds = new DataSet();
myAdapter.Fill( ds,"Table1" );
myAdapter2.Fill( ds,"Table2" ); Repeater1.DataSource = ds.Tables["Table1"].DefaultView;
Repeater1.DataBind();
Repeater2.DataSource = ds.Tables["Table2"].DefaultView;
Repeater2.DataBind();
SqlCommand myCommand1= new SqlCommand(strSel,MyConnection);
SqlDataReader dr = myCommand1.ExecuteReader();
if (dr.Read()==true)
{
string id=dr["id"].ToString();
string uname=dr["uname"].ToString();
dr.Close();
HyperLink1.NavigateUrl="person/addfav.aspx?id="+id;
HyperLink2.NavigateUrl="person/MAIL_SEND.aspx?reid="+uname; }
dr.Close();
MyConnection.Close();
}
}问题依然
1 index 到login后 在从login到index 到显示页list 正常
2 新打开个窗口 粘贴index的URL到显示页 就不正常 (此时候有两个index) 而且问题怪就怪在
******* ******* ******* ******* ******* *******
如果先以1的方式 显示了list 页后
2 打开的list覆盖1所打开的list 也正常
但是如果先以2的方式 显示了list 页后 不正常
此时用 1 打开的list腐败1所打开的list页 也不正常
******* ******* ******* ******* ******* *******