2009-04-25 7 views
1

UpdatePanelとMultiViewの組み合わせで問題があります。PageLoadのUpdatePanel内部でビューを設定しようとしています

トップレベルのUpdatePanelを持っています。内部には複数のimagebuttonsがあります。クリックイベントはマルチビューのビューを設定し、各ビューはその内部にUpdatePanelを持っています。

すべてがうまくいきますが、私は特定のビューにユーザーを送ることができるので、クエリ文字列を使ってビューを設定しようとしています。

PageLoadからビューを設定しようとすると、「オブジェクトが存在しません」と表示されます。ですから、私はPage_LoadCompleteでそれを試してみましたが、それはうまくいきます。しかし、私のイメージボタンは元のようにビューを切り替えることができません。

私は何が欠けていますか?ありがとう!

void Page_LoadComplete() 
    { 
     tabSelect= Request.QueryString["tab"]; 

      if (tabSelect.Contains("Community")) 
      { 
       MultiView1.SetActiveView(Community); 

       btnCommunity.ImageUrl = "images/tabCommunity_on.png"; 

      } 
    } 




<asp:ScriptManager id="ScriptManager1" runat="server"/> 
<asp:UpdatePanel id="UpdatePanel1" childrenastriggers="true" updatemode="Always" runat="server"> 
    <ContentTemplate> 
    <asp:ImageButton id="btnCommunity" onclick="" runat="server"> 

    <asp:MultiView ID="MultiView1" ActiveViewIndex="0" runat="server"> 
     <asp:View ID="Community" runat="server"> 
      <asp:UpdatePanel id="UpdatePanel1" childrenastriggers="true" updatemode="Always" runat="server"> 
      //data controls in here 
      </asp:UpdatePanel> 
     </asp:View> 
     <asp:View id="tabFriends" runat="server"> 
      <asp:UpdatePanel id="UpdatePanel2" childrenastriggers="true" updatemode="Always" runat="server"> 
      //data controls in here 
      </asp:UpdatePanel> 
     </asp:View> 
    </asp:MultiView> 
    </ContentTemplate> 
</asp:UpdatePanel> 

答えて

1

UPDATE:さらに詳細にあなたのコードを確認した後、私はこの問題を考え出したと信じています。私はコードに以下の調整を行って

  1. クエリ文字列が渡されない場合は、空の文字列にtabSelectを設定し、したがって、次の行にNULLオブジェクト参照例外を回避します。

  2. ImageUrlパスに〜(ルート)を含めるように設定します。

以下のコードを試してください:

void Page_LoadComplete() 
{ 
    string tabSelect = Request.QueryString["tab"] ?? string.Empty; 

    if (tabSelect.Contains("Community")) 
    { 
     MultiView1.SetActiveView(Community); 
     btnCommunity.ImageUrl = "~/images/tabCommunity_on.png"; 
    } 
} 
+0

同じことは、ページのロードとしてそこに起こる - それは私が設定していビューがnullであると言います。しかし、オブジェクトはそこにあります、私はデバッガでそれを見ることができます - それはちょうどnullです。 – user53885

+0

更新された投稿がそのトリックをするかどうか教えてください。 –

関連する問題