嵌入脚本按顺序加载

时间:2012-03-12 17:00:46

标签: jquery asp.net embedded-resource

我之前曾要求就此做最佳实践, 但这是一个策略 以下是我们要去的情况:

  1. 我们首先要将 JQuery 添加到页面中(例如通过 网络资源

  2. 之后加载

  3. 图书馆正在使用名为:

    的模板
    "Hello sticky hide"
    
  4. 添加图书馆用户代码准备好Blah blah blah blah

  5. 我想至少为我自己完成这种做法。 也许它只是通过添加行,删除字符或更改地点来修复

    但任何想法,并希望修复得到赞赏

    它没有显示任何错误,但没有结果。

    [assembly: WebResource("Quad.WebControls.JQuery.js", "application/x-javascript")]
    [assembly: WebResource("Quad.WebControls.ProHello.js", "application/x-javascript")]
    namespace Quad.WebControls
    {
        [ToolboxData("<{0}:QuadBar runat=server></{0}:QuadBar>")]
        public class QuadBar : WebControl
        {
            protected override void OnPreRender(EventArgs e)
            {
                base.OnPreRender(e);
    
                if (!DesignMode)
                {
                    //ClientScriptManager cs ;
                    ScriptManager sm= ScriptManager.GetCurrent(Page);
    
                    if (sm == null)
                        throw new HttpException("Error");
    
                    string scriptJQuery = Page.ClientScript.GetWebResourceUrl(this.GetType(), "Quad.WebControls.JQuery.js");
                    string scriptjqHello = Page.ClientScript.GetWebResourceUrl(this.GetType(), "Quad.WebControls.ProHello.js");
    
    
                    HtmlGenericControl jq = new HtmlGenericControl("script");
                     ...
    
                    HtmlGenericControl jqHello = new HtmlGenericControl("script");
                     ...      
    
                    Page.Header.Controls.Add(jq);
                    Page.Header.Controls.Add(jqHello);
    
    
            //-------           
    
    **RenderControl**
    

    public override void RenderControl(HtmlTextWriter writer)     {         base.RenderControl(作家);

        //StringBuilder sbInit = new StringBuilder();
    
    
        StringBuilder sb = new StringBuilder();
    
        sb.Append(" <script type=\"text/javascript\"> ")
            .Append("  Sys.WebForms.PageRequestManager.getInstance().add_endrequest(EndRequestHandler); ")
            .Append("$(document).ready(function () {")
              ...
            .Append("});")
            .Append("</script>");
    
        writer.Write(sb.ToString());
    }   
    

    Aspx Part - (控件已注册) 表格 - 放在Asp.Net表格内

    <asp:ScriptManager ID="sm" runat="server"></asp:ScriptManager>
    
      <div class="Hello sticky hide">
            <p>
                MHM Message</p>
            <a class="close" href="javascript:">
                <img src="images/icon-close.png" /></a>
        </div>
    
    <Quad:QuadBar runat="server" ID="proHello" />
    
    
    
        <div class="wrapper">
    
            <ul>
                <li><a href="#" class="round green button" id="sticky"><span>Sticky bar</span></a> will
                    remain visible even user scroll the page.</li>
            </ul>
    
    
        </div>  
    

1 个答案:

答案 0 :(得分:1)

答案可以在这里找到: Making a DLL of a User Control plus Jquery embeded in

虽然它可以算作我的一个问题的副本