台灣最大程式設計社群網站
線上人數
2396
 
會員總數:245250
討論主題:189111
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> PlaceHolder 和ajax Accordion 奇怪的配合問題.
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
PlaceHolder 和ajax Accordion 奇怪的配合問題.
價值 : 10 QP  點閱數:2828 回應數:1

樓主

cnj
初學者
30 2
24 5
發送站內信

使用UserControl. 堶悼]Accordion
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Acc.ascx.cs" Inherits="Template_Acc" %>
<ajaxToolkit:Accordion ID="MyAccordion" runat="server" SelectedIndex="0"
HeaderCssClass="accordionHeader" HeaderSelectedCssClass="accordionHeaderSelected"
ContentCssClass="accordionContent" FadeTransitions="false" FramesPerSecond="25"
TransitionDuration="250" AutoSize="None" RequireOpenedPane="false" SuppressHeaderPostbacks="true">
<Panes>

<ajaxToolkit:AccordionPane runat="server" ID="Ab">
<Header><a href="" class="accordionLink">Page1</a></Header>
<Content>
<asp:Literal ID="ltrFinacial" runat="server"></asp:Literal>
</Content>
</ajaxToolkit:AccordionPane>
</Panes>
</ajaxToolkit:Accordion>

顯示出Test..
Acc.ascx.cs

protected void Page_Load(object sender, EventArgs e)
{
ltrFinacial.Text = "Test";
}

Default.aspx 使用 Register src 模式去Run Default.aspx 可以看到Test

<%@ Register src="Acc.ascx" tagname="Acc" tagprefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="Main_Content" Runat="Server">
<uc1:Acc ID="Acc1" runat="server" />
</asp:Content>

Default2.aspx 使用 LoadControl 模式就有問題了...

<asp:Content ID="Content1" ContentPlaceHolderID="Main_Content" Runat="Server">
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</asp:Content>

Default.cs ----------------------------------------------------------

PlaceHolder1.Controls.Add(LoadControl("Acc.ascx"));



出現錯誤訊息....有試過ltrFinacial 移到Accordion 之外是正常...或是ltrFinacial.Text = "Test"; 這行移除,也OK...反正就是不能再寫程式再處理元件的屬性..
有人了解嗎...
或者有人可以告之...default.aspx 第一次載入Usercontrol 又...想要單單再載入一次Usercontrol 的作法或語法呢?

Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

Line 16: protected void Page_Load(object sender, EventArgs e)
Line 17: {
Line 18: ltrFinacial.Text = "Test";
Line 19: }
Line 20: }

搜尋相關Tags的文章: [ PlaceHolder ] , [ Accordion ] ,
本篇文章發表於2008-05-14 13:18
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

cnj
檢舉此回應

自己使用updatepanel1 把usercontrol 包起來...並設定 condition 不隨其它updatepanel 更新.
但在其它panelpanel中.按button 在button even 中做數據加減是.然後..updatepanel1.Update().. 會在做一次usercontrol 的資料更新...
但時間點確是在button 前..而不是已設定updatepanel1.Update().那個時間點去..總是在數據加減前的資料..
感覺是updatepanel1.Update().已做非同步設定了.但時間點還是照舊依沒有設定condition 的環境去執行的順序..
我的問題再於..
1. 指定updatepanel1.Update().後才會去update usercontrol (因為usercontrol 要保持最新的數據,,)
2. 若不用updatepaenl. 要去如何去再指定run 一次usercontrol 的部份...
本篇文章回覆於2008-05-21 17:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.