修复亚音速2.2日历,如何在不可见的控件时获得registerClientscrientsinclude调用渲染?

StackOverflow https://stackoverflow.com/questions/3925466


我真的很喜欢亚音速2.2日历控件。它是找到旧的dynarch日历的.NET实现 这里.

因此,我做了任何开发人员会做的事情,然后刷了日历的所有代码,然后将其放在自己的库中。

不幸的是,日历在更新面板上播放不错。
我得到了帮助 这里 对于在更新面板中进行日历工作,但是我仍然有一个问题,如果日历在更新面板中,并且在第一个请求中不可见,则指向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 + "."; } }

因此,我的问题是,当控件不可见时,如何获得RegisterClientscrientscrude呼叫的工作?

有帮助吗?

解决方案

我最终在页面上放置了第二个日历,style =“ display:none;”这不是一个很好的修复,但仍然可以解决。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top