想点击gridview1中的newstitle时跳到newscontents.aspx中显示新闻信息
newscontents.aspx.cs
public partial class newscontents : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection objconn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["sql_connstr"].ToString());
objconn.Open();
SqlCommand objcmd = new SqlCommand("NewsDetail",objconn);
objcmd.CommandType = CommandType.StoredProcedure;
SqlParameter paramNewsID = new SqlParameter("@NewsID",SqlDbType.Int,4);
paramNewsID.Value = Convert.ToInt32(Request.QueryString["NewsID"].ToString());出错
objcmd.Parameters.Add(paramNewsID);
提示: 试图在代码中引用不存在的对象时,会发生 NullReferenceException。例如,您可能试图在未先使用 New 关键字的情况下使用对象,或试图使用值设置为 null(在 Visual Basic 中为 Nothing)的对象。
SqlDataReader dr = objcmd.ExecuteReader();
if (dr.Read())
{
tbxtitle.Text = dr["NewsTitle"].ToString();
tbxcontents.Text = dr["NewsContents"].ToString();
tbxpublisher.Text = dr["NewsPublisher"].ToString();
tbxdatetime.Text=dr["NewsDatetime"].ToString();
}
else
{
Response.Write("Sorry,没有该新闻信息!");
Response.End();
}
}
news.aspx
<asp:gridview>
.....
Columns>
<asp:BoundField DataField="NewsID" HeaderText="新闻编号" ReadOnly="True" SortExpression="NewsID" />
<asp:HyperLinkField DataNavigateUrlFields="NewsID" Target="_blank" DataNavigateUrlFormatString="newscontents.aspx?NewsID={0}}"
HeaderText="新闻标题" DataTextField="NewsTitle" />
<asp:BoundField DataField="NewsPublisher" HeaderText="新闻作者" ReadOnly="True" SortExpression="NewsPublisher"/>
<asp:BoundField DataField="NewsDatetime" HeaderText="发布时间" HtmlEncode="false" ReadOnly="True" SortExpression="NewsDatetime" DataFormatString="{0:yyyy-MM-dd hh:mm:ss}"/>
</Columns>
.....
</gridview>
newscontents.aspx.cs
public partial class newscontents : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection objconn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["sql_connstr"].ToString());
objconn.Open();
SqlCommand objcmd = new SqlCommand("NewsDetail",objconn);
objcmd.CommandType = CommandType.StoredProcedure;
SqlParameter paramNewsID = new SqlParameter("@NewsID",SqlDbType.Int,4);
paramNewsID.Value = Convert.ToInt32(Request.QueryString["NewsID"].ToString());出错
objcmd.Parameters.Add(paramNewsID);
提示: 试图在代码中引用不存在的对象时,会发生 NullReferenceException。例如,您可能试图在未先使用 New 关键字的情况下使用对象,或试图使用值设置为 null(在 Visual Basic 中为 Nothing)的对象。
SqlDataReader dr = objcmd.ExecuteReader();
if (dr.Read())
{
tbxtitle.Text = dr["NewsTitle"].ToString();
tbxcontents.Text = dr["NewsContents"].ToString();
tbxpublisher.Text = dr["NewsPublisher"].ToString();
tbxdatetime.Text=dr["NewsDatetime"].ToString();
}
else
{
Response.Write("Sorry,没有该新闻信息!");
Response.End();
}
}
news.aspx
<asp:gridview>
.....
Columns>
<asp:BoundField DataField="NewsID" HeaderText="新闻编号" ReadOnly="True" SortExpression="NewsID" />
<asp:HyperLinkField DataNavigateUrlFields="NewsID" Target="_blank" DataNavigateUrlFormatString="newscontents.aspx?NewsID={0}}"
HeaderText="新闻标题" DataTextField="NewsTitle" />
<asp:BoundField DataField="NewsPublisher" HeaderText="新闻作者" ReadOnly="True" SortExpression="NewsPublisher"/>
<asp:BoundField DataField="NewsDatetime" HeaderText="发布时间" HtmlEncode="false" ReadOnly="True" SortExpression="NewsDatetime" DataFormatString="{0:yyyy-MM-dd hh:mm:ss}"/>
</Columns>
.....
</gridview>