我现在在做类似日志的页面,一些日志点击进入一个具体的页面,是一篇具体的日志,就像校内一样,在这个日志上面不是还有一个删除按钮,点击这个删除按钮,确定以后返回到他的上一级呀,我现在就是删除以后怎么返回要判断,但是不会判断
public partial class MySpace_ViewLogInfo : System.Web.UI.Page
{
public string strConn;
protected void Page_Load(object sender, EventArgs e)
{ Session["username"] = "admin";
Session["UserId"] = 26;
strConn = "provider=Microsoft.Jet.Oledb.4.0;Data source=" + Server.MapPath("~/App_Data/CourseWebSite.mdb");
ads_contentbind();
} private void ads_contentbind()
{
string strSql;
strSql = "select * from tb_myspace_daily where daily_id = '" + Request.QueryString["daily_id"].ToString() + "'";/*这是这个页面的主旨,也是数据库中的关键字,是文章的id,下面的内容就是因为删除了这个id,所以会出错,可是又不知道怎么做*/
OleDbConnection sqlcon = new OleDbConnection(strConn);
OleDbDataAdapter myda = new OleDbDataAdapter(strSql, strConn);
DataSet ds = new DataSet();
sqlcon.Open();
myda.Fill(ds,"count");
this.DataList1.DataSource = ds;
this.DataList1.DataKeyField = "daily_id";
this.DataList1.DataBind();
sqlcon.Close();
//if (ds.Tables["count"].Rows.Count < 1)
//{
// Response.Redirect("~/MySpace/ViewLogInfo.aspx?daily_username='" + Session["username"].ToString() + "'");
//}方法一
//string strSql2;
//strSql2 = "select count(*) from tb_myspace_daily where daily_id='" + Request.QueryString["daily_id"].ToString() + "'";
//OleDbCommand mycomm = new OleDbCommand(strSql2, sqlcon);
//int a = (int)mycomm.ExecuteScalar();
//if (a < 1)
//{
// Response.Redirect("~/MySpace/ViewLogInfo.aspx?daily_username='" + Session["username"].ToString() + "'");
//}方法二
} protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{
string strID;
strID = this.DataList1.DataKeys[e.Item.ItemIndex].ToString();
string sqlstr = "delete from tb_myspace_daily where daily_id ='" + strID + "'";
OleDbConnection sqlcon = new OleDbConnection(strConn);
OleDbCommand sqlcom = new OleDbCommand(sqlstr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
ads_contentbind();
}不论是方法一还是方法二都是错误的,我不知道这句代码是放哪里
方法一
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 59: {
行 60: string strSql;
行 61: strSql = "select * from tb_myspace_daily where daily_id = '" + Request.QueryString["daily_id"].ToString() + "'";行 62: OleDbConnection sqlcon = new OleDbConnection(strConn);
行 63: OleDbDataAdapter myda = new OleDbDataAdapter(strSql, strConn);
方法二
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 59: {
行 60: string strSql;
行 61: strSql = "select * from tb_myspace_daily where daily_id = '" + Request.QueryString["daily_id"].ToString() + "'";行 62: OleDbConnection sqlcon = new OleDbConnection(strConn);
行 63: OleDbDataAdapter myda = new OleDbDataAdapter(strSql, strConn);
其实这个内容已经删阶了,只是返回不到上一级页面中去
public partial class MySpace_ViewLogInfo : System.Web.UI.Page
{
public string strConn;
protected void Page_Load(object sender, EventArgs e)
{ Session["username"] = "admin";
Session["UserId"] = 26;
strConn = "provider=Microsoft.Jet.Oledb.4.0;Data source=" + Server.MapPath("~/App_Data/CourseWebSite.mdb");
ads_contentbind();
} private void ads_contentbind()
{
string strSql;
strSql = "select * from tb_myspace_daily where daily_id = '" + Request.QueryString["daily_id"].ToString() + "'";/*这是这个页面的主旨,也是数据库中的关键字,是文章的id,下面的内容就是因为删除了这个id,所以会出错,可是又不知道怎么做*/
OleDbConnection sqlcon = new OleDbConnection(strConn);
OleDbDataAdapter myda = new OleDbDataAdapter(strSql, strConn);
DataSet ds = new DataSet();
sqlcon.Open();
myda.Fill(ds,"count");
this.DataList1.DataSource = ds;
this.DataList1.DataKeyField = "daily_id";
this.DataList1.DataBind();
sqlcon.Close();
//if (ds.Tables["count"].Rows.Count < 1)
//{
// Response.Redirect("~/MySpace/ViewLogInfo.aspx?daily_username='" + Session["username"].ToString() + "'");
//}方法一
//string strSql2;
//strSql2 = "select count(*) from tb_myspace_daily where daily_id='" + Request.QueryString["daily_id"].ToString() + "'";
//OleDbCommand mycomm = new OleDbCommand(strSql2, sqlcon);
//int a = (int)mycomm.ExecuteScalar();
//if (a < 1)
//{
// Response.Redirect("~/MySpace/ViewLogInfo.aspx?daily_username='" + Session["username"].ToString() + "'");
//}方法二
} protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{
string strID;
strID = this.DataList1.DataKeys[e.Item.ItemIndex].ToString();
string sqlstr = "delete from tb_myspace_daily where daily_id ='" + strID + "'";
OleDbConnection sqlcon = new OleDbConnection(strConn);
OleDbCommand sqlcom = new OleDbCommand(sqlstr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
ads_contentbind();
}不论是方法一还是方法二都是错误的,我不知道这句代码是放哪里
方法一
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 59: {
行 60: string strSql;
行 61: strSql = "select * from tb_myspace_daily where daily_id = '" + Request.QueryString["daily_id"].ToString() + "'";行 62: OleDbConnection sqlcon = new OleDbConnection(strConn);
行 63: OleDbDataAdapter myda = new OleDbDataAdapter(strSql, strConn);
方法二
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 59: {
行 60: string strSql;
行 61: strSql = "select * from tb_myspace_daily where daily_id = '" + Request.QueryString["daily_id"].ToString() + "'";行 62: OleDbConnection sqlcon = new OleDbConnection(strConn);
行 63: OleDbDataAdapter myda = new OleDbDataAdapter(strSql, strConn);
其实这个内容已经删阶了,只是返回不到上一级页面中去
解决方案 »
- 有内容的<td>和没内容的<td>边框不一样
- net中主从表如何进行事务处理
- 在网页上如何实现父子窗体呢
- 请教vs2003中dropdownlist的item显示不全的问题??
- 大虾 谁会? 谢谢给分
- 弹出“删除确认”问题!!!!!分不多了50分相送!
- 请教如何编辑和删除一个datatable里面的某一行?
- web qq 2.0 大家可谈下看法
- 在DataGrid裏添加刪除模板列,但刪除不了,Help!!!!!!
- ASP的六个对象在ASP.NET里扮演什么角色??
- 问一个关于ASP.NET AJAX 客户端控件ListView数据绑定问题
- 求lionsky的WebHtmlEditor一个,谢谢
可是我用的是一个linkbutton点击之后,跳出一个小框,问“是否删除”,点确定后才返回到日志列表呀,如果照你这种做法的话那不是没有“是否删阶”这一个环节了。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<link href="App_Themes/ViewLog.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div id="container">
<div id="mainpage">
<div id="firstrow">
<div id="firstrow_one">
<img src="Images/pen.jpg" style="width: 15px; height: 16px" alt="" /></div>
<div id="firstrow_two">
<asp:Label ID="Label1" runat="server" Text="日志"></asp:Label>
</div>
<div id="firstrow_three"> <asp:HyperLink ID="HyperLink3" runat="server"
ImageUrl="~/MySpace/Images/write.jpg" NavigateUrl="~/MySpace/CreateLog.aspx">HyperLink</asp:HyperLink> </div>
</div>
<div id="secondrow">
<div id="secondrow_one">
</div>
<div id="secondrow_two">
<asp:Label ID="Label2" runat="server" Text="我的日志"></asp:Label>
<asp:Label ID="Label3" runat="server" Text="Label" Visible="false"></asp:Label><%--用于传递session[{"username"]--%>
</div>
<div id="secondrow_three">
</div>
</div>
<div id="logcontent">
<div id="logleft">
<div id="logleft_head">
<asp:DataList ID="DataList1" runat="server" DataKeyField="daily_id" DataSourceID="AccessDataSource1"
OnItemDataBound="DataList1_ItemDataBound">
<ItemTemplate>
<div id="logleft_head1">
<asp:Label ID="Label24" runat="server" Text="当前显示1-8篇/"></asp:Label>
<asp:Label ID="Label25" runat="server" Text="共"></asp:Label><asp:Label ID="Label26"
runat="server" Text="Label"></asp:Label><asp:Label ID="Label27" runat="server" Text="篇"></asp:Label>
</div>
</ItemTemplate>
</asp:DataList>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/CourseWebSite.mdb"
SelectCommand="SELECT top 1 * FROM [tb_myspace_daily]"></asp:AccessDataSource>
</div>
<div id="logleftcontent">
<asp:DataList ID="DataList2" runat="server" DataKeyField="daily_id" OnDeleteCommand="DataList2_DeleteCommand"
OnItemDataBound="DataList2_ItemDataBound">
<ItemTemplate>
<div id="logleftcontent1">
<div id="logleftcontent_head">
<div id="logleftcontent_head1">
<asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("daily_title") %>'
NavigateUrl='<%# "~/MySpace/ViewLogInfo.aspx?daily_id="+Eval("daily_id") %>'></asp:HyperLink>
</div>
<div id="logleftcontent_head2">
<asp:LinkButton ID="LinkButton1" runat="server">编辑</asp:LinkButton>
<asp:Label ID="Label28" runat="server" Text="|"></asp:Label>
<asp:LinkButton ID="LinkButton2" runat="server" CommandName="delete">删除</asp:LinkButton>
</div>
<div id="logleftcontent_head3">
<asp:Label ID="Label29" runat="server" Text='<%# Eval("daily_time") %>'></asp:Label>
<asp:Label ID="Label30" runat="server" Text="(分类:"></asp:Label>
<asp:Label ID="Label38" runat="server" Text="Label"></asp:Label>
<asp:Label ID="Label32" runat="server" Text=")"></asp:Label>
<asp:Label ID="Label39" runat="server" Text='<%# Eval("type_id") %>' Visible="false"></asp:Label>
</div>
</div>
<div id="logleftcontent_centent">
<asp:Label ID="Label40" runat="server" Text='<%# Eval("daily_content") %>'></asp:Label>
</div>
<div id="logleftcontent_footer">
<asp:Label ID="Label33" runat="server" Text="阅读:"></asp:Label>
<asp:Label ID="Label34" runat="server" Text="Label"></asp:Label>
<asp:Label ID="Label35" runat="server" Text="|"></asp:Label>
<asp:Label ID="Label36" runat="server" Text="评论:"></asp:Label>
<asp:Label ID="Label37" runat="server" Text="Label"></asp:Label>
</div>
</div>
</ItemTemplate>
</asp:DataList>
<asp:AccessDataSource ID="ads_viewlog" runat="server" DataFile="~/App_Data/CourseWebSite.mdb"
SelectCommand="SELECT * FROM [tb_myspace_daily] order by daily_time desc"></asp:AccessDataSource>
</div>
</div>
<div id="logrihgt">
<div id="logrighttop">
</div>
<div id="logrightbody">
<div id="logrightbody_text">
<asp:Label ID="Label19" runat="server" Text="最近看过我日志的人"></asp:Label>
</div>
<div id="logrightbody_photo">
<div id="logrightbody_smallphoto">
<div id="logrightbody_photopic">
<img src="Images/peoplepic1.jpg" style="width: 50px; height: 51px" alt="" /></div>
<div id="logrightbody_phototext">
<asp:Label ID="Label20" runat="server" Text="曹璐"></asp:Label>
</div>
</div>
</div>
<div id="logrightbody_logrow">
<asp:Label ID="Label21" runat="server" Text="日志存档"></asp:Label>
</div>
<div id="logrightbody_alltime">
<div id="logrightbody_timettext">
<asp:Label ID="Label22" runat="server" Text="2009年06月10日"></asp:Label>
<asp:Label ID="Label23" runat="server" Text="(7)"></asp:Label>
</div>
</div>
</div>
<div id="logrightdown">
</div>
</div>
</div>
</div>
</div>
</form>
</body>
</html>
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.OleDb;public partial class MySpace_ViewLogInfo : System.Web.UI.Page
{
public string strConn;
protected void Page_Load(object sender, EventArgs e)
{
Session["username"] = "admin";
Session["UserId"] = 26;
string strSql;
strConn = "provider=Microsoft.Jet.Oledb.4.0;Data source=" + Server.MapPath("~/App_Data/CourseWebSite.mdb");
strSql = "update tb_myspace_daily set daily_click = daily_click + 1 where daily_id='" + Request.QueryString["daily_id"].ToString() + "'";
OleDbConnection myConn = new OleDbConnection(strConn);
OleDbCommand myComm = new OleDbCommand();
myComm.Connection = myConn;
myComm.Connection = myConn;
myComm.CommandText = strSql;
myConn.Open();
myComm.ExecuteNonQuery();
myConn.Close(); ads_contentbind();
ads_commentarylistbind();
}
private void ads_contentbind()
{
string strSql;
strSql = "select * from tb_myspace_daily where daily_id = '" + Request.QueryString["daily_id"].ToString() + "'";
OleDbConnection sqlcon = new OleDbConnection(strConn);
OleDbDataAdapter myda = new OleDbDataAdapter(strSql, strConn);
DataSet ds = new DataSet();
sqlcon.Open();
myda.Fill(ds,"count");
this.DataList1.DataSource = ds;
this.DataList1.DataKeyField = "daily_id";
this.DataList1.DataBind();
sqlcon.Close();
//if (ds.Tables["count"].Rows.Count < 1)
//{
// Response.Redirect("~/MySpace/ViewLogInfo.aspx?daily_username='" + Session["username"].ToString() + "'");
//} //string strSql2;
//strSql2 = "select count(*) from tb_myspace_daily where daily_id='" + Request.QueryString["daily_id"].ToString() + "'";
//OleDbCommand mycomm = new OleDbCommand(strSql2, sqlcon);
//int a = (int)mycomm.ExecuteScalar();
//if (a < 1)
//{
// Response.Redirect("~/MySpace/ViewLogInfo.aspx?daily_username='" + Session["username"].ToString() + "'");
}
protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{
string strID;
strID = this.DataList1.DataKeys[e.Item.ItemIndex].ToString();
string sqlstr = "delete from tb_myspace_daily where daily_id ='" + strID + "'";
OleDbConnection sqlcon = new OleDbConnection(strConn);
OleDbCommand sqlcom = new OleDbCommand(sqlstr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
ads_contentbind(); Response.Redirect("~/MySpace/ViewLogInfo.aspx?daily_username='" + Session["username"].ToString() + "'");
}
private void ads_commentarylistbind()
{
string sqlstr;
sqlstr = "select * from tb_myspace_dailycontent where daily_id ='" + Request.QueryString["daily_id"].ToString() + "' order by fld_time desc";
OleDbConnection sqlcon = new OleDbConnection(strConn);
OleDbDataAdapter myda = new OleDbDataAdapter(sqlstr, sqlcon);
DataSet ds = new DataSet();
sqlcon.Open();
myda.Fill(ds, "sqlstr");
this.DataList2.DataSource = ds;
this.DataList2.DataKeyField = "fld_id";
this.DataList2.DataBind();
sqlcon.Close();
}
protected void DataList2_DeleteCommand(object source, DataListCommandEventArgs e)
{
string strID;
strID = DataList2.DataKeys[e.Item.ItemIndex].ToString();//获取当前DataList控件列
string sqlstr = "delete from tb_myspace_dailycontent where daily_id ='" + Request.QueryString["daily_id"].ToString() + "' and fld_id =" + strID;
OleDbConnection sqlcon = new OleDbConnection(strConn);
OleDbCommand sqlcom = new OleDbCommand(sqlstr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
ads_commentarylistbind();
}
protected void DataList2_ItemDataBound(object sender, DataListItemEventArgs e)
{
((LinkButton)e.Item.Controls[0].FindControl("LinkButton3")).Attributes.Add("onclick", "return confirm('确定要删除吗?')");
}
//protected void DetailsView1_ItemInserted(object sender, DetailsViewInsertedEventArgs e)
//{
// Response.Write("<script language=javascript>window.location.href=window.location.href;</script>");
//}
protected void Button1_Click(object sender, EventArgs e)
{
string strSql, strtb;
strtb = TextBox1.Text;
strSql = "insert into tb_myspace_dailycontent (daily_id,fld_time,Username,fld_content) values ('" + Request.QueryString["daily_id"].ToString() +"',#" + DateTime.Now.ToString() + "#,'"+ Session["username"].ToString() +"','" + strtb.ToString() + "')";
OleDbConnection myConn = new OleDbConnection(strConn);
OleDbCommand myComm = new OleDbCommand(strSql, myConn);
myConn.Open();
myComm.ExecuteNonQuery();
myConn.Close();
Response.Write("<script> alert ('评论成功!')</script>");
}
}
可是出现错误,错误如下:
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 22: string strSql;
行 23: strConn = "provider=Microsoft.Jet.Oledb.4.0;Data source=" + Server.MapPath("~/App_Data/CourseWebSite.mdb");
行 24: strSql = "update tb_myspace_daily set daily_click = daily_click + 1 where daily_id='" + Request.QueryString["daily_id"].ToString() + "'";行 25: OleDbConnection myConn = new OleDbConnection(strConn);
行 26: OleDbCommand myComm = new OleDbCommand();
行 23: strConn = "provider=Microsoft.Jet.Oledb.4.0;Data source=" + Server.MapPath("~/App_Data/CourseWebSite.mdb");
行 24: strSql = "update tb_myspace_daily set daily_click = daily_click + 1 where daily_id='" + Request.QueryString["daily_id"].ToString() + "'";行 25: 你在strSql = "update tb_myspace_daily set daily_click = daily_click + 1 where daily_id='" + Request.QueryString["daily_id"].ToString() + "'";之前输出一下Request.QueryString["daily_id"],代码如下:
string strSql;
strConn = "provider=Microsoft.Jet.Oledb.4.0;Data source=" + Server.MapPath("~/App_Data/CourseWebSite.mdb");
Response.Write(Request.QueryString["daily_id"]); //注意:你这里是Request.QueryString["daily_id"],后边没有.ToString()response.End();
strSql = "update tb_myspace_daily set daily_click = daily_click + 1 where daily_id='" + Request.QueryString["daily_id"].ToString() + "'";
你就会发现你问题的所在了,你什么也没输出,即你的 Request.QueryString["daily_id"]对象为null。这也就是你出“System.NullReferenceException: 未将对象引用设置到对象的实例”错误的原因,还有一个问题,就是你是进入日志详细页面删除该日志呢,还是该日志下边的回复记录。如果是该日志的话,那么删除完,返回上一级的应该是该用户的所有日志列表,而代码strSql = "update tb_myspace_daily set daily_click = daily_click + 1 where daily_id='" + Request.QueryString["daily_id"].ToString() + "'";是应该放在日志的详细页面的。当客户每次访问该页面时,会给点击数自动加1.