2008-09-24 45 views
1

我有一個令人討厭的問題,從異步面板中的formview內的用戶控件內註冊一個javascript事件。我去我的formview,並按下按鈕切換到插入模式。這不會執行完整頁面回發。在插入模式,我的用戶控件的Page_Load事件應該然後註冊使用ScriptManager.RegisterStartupScript JavaScript事件:在異步面板內的FormView中的用戶控件中的ScriptManager.RegisterClientScript

ScriptManager.RegisterStartupScript(base.Page, this.GetType(), ("dialogJavascript" + this.ID), "alert(\"Registered\");", true); 

然而,當我看着自己的HTML源代碼,該事件不存在。因此警報框從不顯示。這是我的實際aspx文件的設置:

<igmisc:WebAsyncRefreshPanel ID="WebAsyncRefreshPanel1" runat="server"> 
    <asp:FormView ID="FormView1" runat="server" DataSourceID="odsCurrentIncident"> 
     <EditItemTemplate> 
      <uc1:SearchSEDUsers ID="SearchSEDUsers1" runat="server" /> 
     </EditItemTemplate> 
     <ItemTemplate> 
      Hello 
      <asp:Button ID="Button1" runat="server" CommandName="Edit" Text="Button" /> 
     </ItemTemplate> 
    </asp:FormView> 
</igmisc:WebAsyncRefreshPanel> 

有沒有人有任何想法我可能會在這裏失蹤?

回答

1

您是否嘗試過使用RegisterClientSideScript?您始終可以使用IsClientSideScriptRegistered檢查腳本的密鑰,以確保您不會多次註冊它。

我假設異步面板是做了部分頁面回過去不觸發mechansim再生啓動腳本。也許對ASP.Net頁面生命週期和CLR有更好理解的人可以填寫這些空白。

+0

你是對的,它不會觸發。 – mattlant 2008-09-24 14:25:45

0

試試這個,我得到了同樣的問題

ScriptManager.RegisterClientScriptBlock(MyBase.Page, Me.[GetType](), 
        ("dialogJavascript" + this.ID), "alert(\"Registered\");", True) 

這爲我工作!

1

對我來說,工作正常。 resizeChartMid()是一個函數名稱。

ScriptManager.RegisterStartupScript(this, typeof(string), "getchart48", "resizeChartMid();", true); 
相關問題