2012-12-05 67 views
1

我在自定義控件中有一個圖像按鈕,如下所示。如何將動態參數值設置爲網頁中的自定義控件

 public string SearchTableName = string.Empty; 
     public string SearchColumnName = string.Empty; 
     public string SiteURL = string.Empty; 
     ImageButton _imgbtn; 
     protected override void OnInit(EventArgs e) 
     { 
      _imgbtn = new ImageButton(); 
      _imgbtn.ImageUrl = ImageURL; 
      _imgbtn.OnClientClick = "ShowSearchBox('" + SiteURL +"/_layouts/CustomSearch/SearchPage/Searchpage.aspx?table_name=" + SearchTableName + " &column_name=" + SearchColumnName + "')"; 
     } 

點擊圖像按鈕我想遷移到另一個窗口,這是一個彈出窗口。爲此我寫了一個javascript函數。我正在設置SearchTableNameSearchColumnName在我們正在使用此自定義控件的網頁中,如下所示。在使用之前,我在註冊標籤的網頁上註冊了這個控件。

<ncc:SearchControl runat="server" ID="txtSearchControl" />在此網頁的文件後面的代碼中,我使用以下代碼來設置值。

protected void Page_Load(object sender, EventArgs e) 
{ 
    txtSearchControl.ImageURL = "_layouts/Images/settingsicon.gif"; 
    txtSearchControl.SearchTableName = "Employees"; 
    txtSearchControl.SearchColumnName = "LastName"; 
    txtSearchControl.SiteURL = "http://Sp2010:8787"; 
} 

現在來這個問題,當我點擊圖像按鈕SearchTableNameSearchColumnName值不來了。我想我打電話OnClientClick函數,這就是爲什麼值沒有被設置。但是,如何根據網頁中的值設置自定義控件的值。如果我使用Click函數,它會服務於我的目的嗎?如果是這樣,如何從該點擊事件調用該JavaScript函數。

回答

1

終於有了解決辦法。我正在初始化自定義控件中頁面init方法中的值。這就是爲什麼我沒有捕捉到我在可視Web部件頁面中設置的值。現在我改變了初始化方法CreateChildControl中的值。現在它完美地工作。謝謝。

相關問題