簡體   English   中英

用戶控件以及JavaScript和母版頁

[英]User Controls and JavaScript and Master Pages

考慮以下情況:

所有javascript都有一個帶有contentPlaceHolder的母版頁面...

對於速度發布,此部分位於頁面底部。

我的用戶控件生成一些javascript,使用主頁面中的一些引用javascript(Jquery庫)

所以,如果我的用戶控件在主頁面javascript之前呈現,它將無法正常工作。

這是我的問題:

如何在我的.ascx文件中創建一些javascript代碼塊以呈現給.aspx頁面中的asp:Content JavaScript

或者也許我的所有想法都是故事?

謝謝!

看看這是否適合您:

在Master Page的“底部”哪里? 如果在關閉服務器端表單控件中移動它並在用戶控件中使用ClientScript.RegisterStartupScript ,它將在“關閉<form/>標記之前”(將您的靜態腳本調用之后)注入控件的腳本)。

母版頁 - 位於關閉服務器端ASP.Net </form>上方

....
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js "></script>
</form>

內容頁面(沒什么特別的):

<%@ Register src= ....

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
    <uc1:jscript_inject ID="jscript_inject1" runat="server" />
</asp:Content>

用戶控制:

protected void Page_Load(object sender, EventArgs e)
{
    Page.ClientScript.RegisterStartupScript(this.GetType(), "foo", @"alert('foo');", true);

}

這是它呈現的方式(瀏覽器中的HTML視圖源):

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js "></script>

<script type="text/javascript">
    //<![CDATA[
    alert('foo');//]]>
</script>
....
</form>

正如所宣傳的, alert('foo'); 低於“預定義”的jq cdn調用....

干杯有用。 有趣的是這個工程的Page.ClientScript.RegisterStartupScript但不Page.ClientScript.RegisterClientScriptInclude ,取而代之的是“包括”被添加到窗體頂部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM