3

このエラーが発生し続け、理由がわかりません。asp.netサイトを2日間グーグルでスキャンしたので、助けが必要です。エラーは次のとおりです。

Object reference not set to an instance of an object

これが私のコードです:

DropDownList DropDownList1 =(DropDownList)ListView1.InsertItem.FindControl("DropDownList1");

string highToLow = DropDownList1.SelectedValue;
string lowToHigh = DropDownList1.SelectedValue;

if (highToLow == "1")
{
    var exmapleFilter = from users in testEntities.users 
                        orderby users.id descending
                        select users;

    ListView1.DataBind();
}

ドロップダウンの値を高の場合は1、低の場合は2に設定し、選択したインデックスを変更して、ADO.netEntityFrameworkコードを実行してデータの並べ替えられたリストを返します。

現在、linqデータソースとリストビューを使用して、データベースの内容を表示しています。

ありがとう。

編集:

これがスタックトレースです

   System.NullReferenceException was unhandled by user code
   Message=Object reference not set to an instance of an object.
   Source=App_Web_s0ked5y3

   StackTrace:
   at Default.DropDownList1_SelectedIndexChanged(Object sender, EventArgs e)
   in Default:line 120

   at System.Web.UI.WebControls.ListControl.OnSelectedIndexChanged(EventArgs e)

   at System.Web.UI.WebControls.DropDownList.RaisePostDataChangedEvent()

   at System.Web.UI.WebControls.DropDownList.System.Web.UI.IPostBackDataHandler.
   RaisePostDataChangedEvent()

   at System.Web.UI.Page.RaiseChangedEvents()

   at System.Web.UI.Page.ProcessRequestMain(Boolean 
   includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   InnerException: 
4

3 に答える 3

3

リストビューにあることを確認してください

<InsertItemTemplate>
   ....          
   <asp:DropDownList ID="DropDownList1" runat="server" />
   .... 

に関連して

ListView1.InsertItem.FindControl("DropDownList1");
于 2012-07-05T20:19:38.280 に答える
0

それらに基づいて、スタックトレースはありません。私の疑問は次のとおりです。

DropDownList DropDownList1 =
    (DropDownList)ListView1.InsertItem.FindControl("DropDownList1");

oObject参照がオブジェクトのインスタンスに設定されていない原因になっています

1つの強力な理由:InsertItemと呼ばれるコントロールはListView1の子コントロールではありません

于 2012-07-05T20:18:31.377 に答える
0

「オブジェクト参照がオブジェクトのインスタンスに設定されていない」例外は、通常、値がnullの参照変数を使用しようとしたときに発生します。これは、ヒープ上に対応するオブジェクトがないことを意味します。

したがって、必ずテンプレートを再確認し、pageloadイベントですべての値をロードしてください。

それが役に立てば幸い。

于 2012-07-05T20:34:19.563 に答える