2013-04-15 48 views
0

我已經注入HTML div包含按鈕和JavaScript插入按鈕click.But一個曄插件當我點擊injeted按鈕,javascript函數是不是called.If我的腳本注入Ektron小部件的Page_Load Java腳本函數完美地調用。動態插入Java腳本不曄部件工作

請檢查。

Default.ascx.cs

public partial class Workarea_Widgets_test : WorkareaWidgetBaseControl, IWidget 
     { 
     protected void Page_Load(object sender, EventArgs e) 
      { 

      } 
     protected void Button1_Click(object sender, EventArgs e) 
      { 
      HtmlDiv.InnerHtml = "<div id='divid'>Name :<input type='button' 
      id='Name' name='Name' value='Injected Button' onclick='return test();'/> 
      </div><script type='text/javascript' >function test() 
      {alert('test passed!');} </script>"; 

      HtmlDiv.Style.Add("display", "block"); 
      } 
     } 

Default.ascx

<div id="Div1" runat="server" class="HtmlDiv" style="display:block" > 
     <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 
    </div> 
    <div id="HtmlDiv" runat="server"> 
    </div> 

如果我注入HTML與小部件的頁面加載的JavaScript沿javascript函數是working.If它是在一個按鈕點擊它不起作用。

我想這個代碼與aspx頁面,它工作正常....

是否有任何相關性存在曄部件。

任何人都請回復。

回答

0

有什麼理由你不只是做這一切的客戶端(JavaScript)的?

要回答你的問題,但是,一個小部件曄只是一個ASP.NET web用戶控件。您必須爲Web用戶控件管理狀態,這意味着您在回發時設置HtmlDiv控件的屬性時,您有責任保留這些值。

請參閱Microsoft的ASP.NET State Management Recommendations更多的信息,但是你的狀態選項包括:

  • 視圖狀態
  • 控制狀態
  • 隱藏字段
  • 餅乾
  • 查詢字符串

在這個CAS中e視圖狀態或控制狀態將是您最有可能的候選人。

此外,雖然,我會質疑你爲什麼要做這個服務器端。

+0

同意你的第一句話。一般來說,編寫HTML或JavaScript以從代碼隱藏輸出是最佳避免的做法。 – egandalf