【问题标题】:append script text into the end of an asp.net web form page from user control从用户控件将脚本文本附加到 asp.net 网页表单页面的末尾
【发布时间】:2011-07-14 13:43:25
【问题描述】:

这是我在后面的用户控制代码中所做的;

    ScriptManager.RegisterStartupScript(this.Page, typeof(Page), 
   "JQuerySearchReminder",
    string.Format("(function() {{ $(function(){{ $('#{0}').val('{1}'); }}); }})();", ddlDestinationTrf.ClientID, srchrmdr["_did"]), 
    true);

脚本代码运行良好,没有任何问题。在用户控件上我也使用了 AjaxControlToolkit 的CascadingDropDown 控件。

所以问题是;

我用来将脚本附加到页面的这个 c# 代码在 CascadingDropDown 控件的脚本代码之前注册。在这种情况下这是行不通的,因为如果 CascadingDropDown 控件没有完成工作,则 dorpdownlist 为空。

所以伙计们,让我摆脱这种蹩脚的情况。

【问题讨论】:

    标签: javascript .net asp.net user-controls webforms


    【解决方案1】:

    您是否尝试过将 ScriptManager.LoadScriptsBeforeUI 设置为 false。 See here for details.

    或者,您不能在加载文档后使用 jquery 的 document.ready 函数来运行您的 javascript 代码吗?

    【讨论】:

    • 不,它不起作用。我的目的不是在页面的开头得到整个 ajax 代码,而是在最后得到这个小脚本代码。
    • 对于 document.ready 部分,我认为这段代码可以做到这一点; $(function(){ }); ?
    • @tugberk:当我设置LoadScriptsBeforeUI="false" 时,使用RegisterStarupScript 注册的脚本会在生成的html 页面的最后呈现(即在</body> 元素之前)。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-19
    相关资源
    最近更新 更多