想点击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>
数据库中有newsid的值呀,怎么是空呢?如我说的不清楚可以再补充
请大家帮个忙哈,先谢谢了!!!!!!!
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>
数据库中有newsid的值呀,怎么是空呢?如我说的不清楚可以再补充
请大家帮个忙哈,先谢谢了!!!!!!!
解决方案 »
- 上传并预览图片
- 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID可能不是连续的。
- 使用nhibernate,代码里写的是批量删除,但是通过mssql跟踪发现删除是逐条删除。为什么?请教高手。
- 右键菜单里的refactor怎么不见了?
- gridview嵌套一个datalist问题?(高手进)
- iis不能浏览aspx文件
- 数据库中提取的数据在网页中以表格的形式显示,结果查找当前页出错。
- .html文档另存为.aspx文件后,表格不支持背景图吗?
- 参数传递问题?
- 哪里有Coalesys WebMenu for ASP.NET 2.1下?在线急等!
- 请教这种cookies是怎么取消的
- 赋予 类型 'varchar' 的大小(9545)超过了任意数据类型的最大允许值(8000) 如何处理??
if(Request.QueryString["NewsID"].ToString()!=null)
paramNewsID.Value = Convert.ToInt32(Request.QueryString["NewsID"].ToString());猜测
2.确定url里有NewsID值.
3.异常捕获,修改为兼容性较强的代码,例如:
paramNewsID.Value = Convert.ToInt32(Request.QueryString["NewsID"]==null?"-1":Request.QueryString["NewsID"].ToString());
paramNewsID.Value = Convert.ToInt32(Request.QueryString["NewsID"].ToString());
int.parse