1

我有一個自定義服務器控件,它在添加的aspx頁面上呈現一些HTML。在頁面上使用來自自定義控件的嵌入資源的javascript

protected override void RenderContents(HtmlTextWriter output) 
    { 
     Text = GetHTMLContent(); 

     output.Write(Text); 
    } 

的GetHTMLContent()retuns一些HTML,說

<div id="panel" onMouseOver="hide"><table><tr><td>Something Here</td></tr></table></div>

而且我有一個JavaScript文件,該文件是在這個服務器控件的嵌入式資源。這個JavaScript文件包含一個函數,說

function hide(){ 
     document.getElementById("panel").visible = false; 
    } 

我在aspx頁面添加自定義的控制這樣

<cc1:CControl ID="Div" runat="server"></cc1:CControl> 

現在,當我在瀏覽器中打開的HTML內容物被罰款,但JavaScript需要正在工作。

我的問題是我們該如何使javascript文件嵌入到自定義控件中的函數工作在自定義控件將被加載的aspx頁面上?

謝謝

回答

1

有幾種方法。首先可以有一個OnClientHide="hide"屬性,其中此屬性定義了作爲回調調用的方法的名稱。渲染過程中,您的控件可以將其傳遞給onmouseover客戶端事件處理程序。

或者:有你的控制編寫JavaScript的瀏覽器,這樣的:http://msdn.microsoft.com/en-us/library/z9h4dk8y.aspx

編輯

還檢查了這個例子:http://www.karpach.com/Custom-ASP-NET-server-control-with-embedded-resources.htm

+0

我想我不能正確地問這個問題。現在我修改了它。 「我的問題是,我們如何才能使這個函數,在JavaScript文件中嵌入自定義控件,在自定義控件將被加載的aspx頁面上工作?」 – dipdawiz 2012-03-21 05:31:41

+0

這是這個過程的一個很好的例子:http://www.karpach.com/Custom-ASP-NET-server-control-with-embedded-resources.htm – 2012-03-21 13:43:18

0

再說什麼布賴恩電源說,你JavaScript來隱藏不正確。它應該是:

function hide() 
{ 
    document.getElementById("panel").style.display = "none"; 
    OR 
    document.getElementById("panel").style.visibility = "hidden"; 
} 
相關問題