我在product.aspx.cs页面中使用以下代码,当我运行代码时,我发现错误说明。
对象引用未设置为对象的实例。
疑难解答提示..使用新关键字“
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class Yarn : System.Web.UI.Page
{
Class1 cc = new Class1();
string cat;
string sub_cat;
protected void Page_Load(object sender, EventArgs e)
{
cat = Request.QueryString["category"].Trim();
sub_cat = Request.QueryString["sub_category"].Trim();
if (!IsPostBack)
{
loaddata();
disp();
}
}
private void loaddata()
{
DataList1.DataSource = cc.dis_diplay("select top 18 pname, images from product_entry order by pid desc").Tables[0];
DataList1.DataBind();
}
public void disp()
{
if (cat == "'Fibre'")
{
DataList1.DataSource = cc.dis_diplay("select pname, images from product_entry where sub_category="+sub_cat).Tables[0];
DataList1.DataBind();
}
}
protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
HTML中使用的代码是:
<osm:Child><a href= "Products.aspx?cat='<%# Eval("category")%>' &&sub_cat ='<%#Eval("sub_category")%>'" title= "Cocoon"</a>Cocoon</osm:Child>
答案 0 :(得分:1)
我认为你正在查询错误的名字。尝试将它们更改为
protected void Page_Load(object sender, EventArgs e)
{
cat = Request.QueryString["cat"].Trim();
sub_cat = Request.QueryString["sub_cat"].Trim();
...
}
答案 1 :(得分:0)
您应该检查null
。如果query string
不是null
,那么从中获取value
,否则会抛出null reference exception
。
if(Request.QueryString["category"] != null)
cat = Request.QueryString["category"].Trim();
同时从光纤中移除single qoutes
,因为它已经是string
,因此无需用qoutes包围它。
只需这样做
if (cat == "Fibre")