【问题标题】:c# check if contentplaceholder has a userdefined controlc# 检查 contentplaceholder 是否有用户定义的控件
【发布时间】:2018-12-15 10:27:34
【问题描述】:

我有一种情况,我使用内容占位符将 .js 文件添加到我的 aspx 页面。 我需要将所有js添加到页面末尾(所述内容占位符位于母版页底部)

这是相同的代码

 ContentPlaceHolder content = (ContentPlaceHolder)Page.Master.FindControl("additionalJavaScript");
                content.Controls.Add(new DeferedMinifiedScript("~/Scripts/Controls/ListBoxControl.js"));

现在的问题是我只需要在页面上添加一次 ListBoxControl.js 文件。 但这是每次在页面上呈现新的列表框控件时添加文件。

我需要检查该文件是否已在页面上作为控件可用,然后跳过再次添加它。

我尝试了以下

var abc = new DeferedMinifiedScript("~/Scripts/Controls/ListBoxControl.js");
if(content.Controls.Contains(abc))
{
//Don't add the file again.
}

但这仍然是一次又一次地添加文件。

有出路吗?

另外,我不能使用 RegisterClientScriptInclude 或类似功能

【问题讨论】:

    标签: c# contentplaceholder


    【解决方案1】:

    你应该可以使用这个:

    https://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.content(v=vs.110).aspx

    并将内容设置为字符串,然后使用字符串进行比较,看看它是否包含您的 .js 字符串/文件路径,如果不包含。

    【讨论】:

    • 也不能这样做。
    猜你喜欢
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 2013-05-11
    • 2011-07-28
    • 1970-01-01
    • 2011-05-08
    • 2011-06-01
    • 2011-04-18
    相关资源
    最近更新 更多