c# - 修复 SubSonic 2.2 日历,当控件不可见时如何获取 RegisterClientScriptIninclude 调用以进行渲染?

标签 c# javascript calendar custom-controls subsonic2.2


我真的很喜欢 SubSonic 2.2 日历控件。它是旧 Dynach 日历的 .Net 实现 here

所以我做了任何开发人员都会做的事情,我刷了日历的所有代码并将其放入它自己的库中。

不幸的是,日历与更新面板的配合不太好。
我得到了帮助 here为了让日历在更新面板中工作,但是我仍然遇到一个问题,如果日历位于更新面板中并且在第一次请求时不可见,则指向 JavaScript 文件的脚本标记不会呈现。

这是执行此操作的代码。

    protected override void OnPreRender(EventArgs e)
    {
        string csslink = "<link href='" + Page.ClientScript.GetWebResourceUrl(GetType(), IncludeAssemblyPrefix + "skin.theme.css") + "' rel='stylesheet' type='text/css' />";
        Page.Header.Controls.Add(new LiteralControl(csslink));
        Page.ClientScript.RegisterClientScriptInclude("CalendarMain", Page.ClientScript.GetWebResourceUrl(GetType(), IncludeAssemblyPrefix + "calendar.js"));
        Page.ClientScript.RegisterClientScriptInclude("CalendarSetup", Page.ClientScript.GetWebResourceUrl(GetType(), IncludeAssemblyPrefix + "calendar-setup.js"));

        string langPrefix = IncludeAssemblyPrefix + "lang.calendar-";

        if (String.IsNullOrEmpty(Language))
            Language = DEFAULT_LANGUAGE;

        if (Assembly.GetExecutingAssembly().GetManifestResourceStream(langPrefix + Language + ".js") == null)
            Page.ClientScript.RegisterClientScriptInclude("CalendarLanguage", Page.ClientScript.GetWebResourceUrl(GetType(), langPrefix + DEFAULT_LANGUAGE + ".js"));
        else
            Page.ClientScript.RegisterClientScriptInclude("CalendarLanguage", Page.ClientScript.GetWebResourceUrl(GetType(), langPrefix + Language + ".js"));

        base.OnPreRender(e);
    }
    public string IncludeAssemblyPrefix { get { return Assembly.GetExecutingAssembly().GetName().Name + "."; } }

所以我的问题是,当控件不可见时,如何让 RegisterClientScriptIninclude 调用起作用?

最佳答案

我最终在页面上放置了第二个日历,样式为“display:none;”虽然不是一个完美的修复,但仍然是一个修复。

关于c# - 修复 SubSonic 2.2 日历,当控件不可见时如何获取 RegisterClientScriptIninclude 调用以进行渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3925466/

相关文章:

c# - 在 C# 中呈现 MediaWiki 的最佳方法?

javascript - 从 jQuery 1.7.1 更新到 jQuery 1.10.2

javascript - 与 .click(function() {...}) 绑定(bind)的对象;对点击没有影响

android - 在android中打开和显示日历事件

c# - 如何从 Expression<Action<T>> 获取接口(interface)成员名称

C# - 免费离线语音识别库 (SDK)

javascript - 为什么缓存 HTML5 页面会阻止执行 Cors 请求?

java - 在其他时区午夜时获取本地时间

Java - 如何计算每周的第一天和最后一天

c# - C# 中的 jQueryUI 日历单元格