2015-12-07 1 views
1

Я использую приведенный ниже код на странице product.aspx.cs, и когда я запускаю код, я нахожу сообщение об ошибке.error stating Ссылка на объект не установлена ​​в экземпляр объекта

Ссылка на объект не установлена ​​в экземпляр объекта.

Устранение Кончик .. использовать новое ключевое слово»

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

У какой строки кода эта ошибка появляется? –

+0

Что произойдет, если ваш запрос выбора возвращает пустой набор результатов? Ваш класс1 все еще возвращает таблицу? – Sascha

+0

Где вы создаете свой объект DataList1? Если вы попытаетесь установить на нем источник данных, но он не был создан, он выдает ошибку. Какая строка является ошибкой? – Alex

ответ

0

Вы должны проверить null Если query string не null затем получить value от. в противном случае он будет бросать null reference exception.

if(Request.QueryString["category"] != null) 
    cat = Request.QueryString["category"].Trim(); 

Также удалите single qoutes из Fiber, потому что это уже string, поэтому нет необходимости окружать его qoutes.

Просто сделать это

if (cat == "Fibre") 
1

Я думаю, что вы запрашиваете с неправильными названиями. Попробуйте изменить их на

protected void Page_Load(object sender, EventArgs e) 
{ 
     cat = Request.QueryString["cat"].Trim(); 
     sub_cat = Request.QueryString["sub_cat"].Trim(); 
     ... 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^