sitecore - 如何防止营销人员的 Web 表单注入(inject)自己的 jquery-ui.custom.Default.css

标签 sitecore web-forms-for-marketers

我一直在使用Web Forms for Marketers (WFFM)Sitecore最近的项目,我注意到它注入(inject)了:

<link href="/sitecore%20modules/shell/Web%20Forms%20for%20Marketers/themes/colors//jquery-ui.custom.Default.css" rel="stylesheet" type="text/css" />

有没有办法禁用链接,以便只将我指定的 CSS 文件添加到页面中?

在查看了更多 WFFM 源之后,我注意到不需要的 <link />通过 Page.Header.Controls 添加到页面:
if (page.Header != null)
{
    if (!flag)
    {
        try
        {
            //possibly added as link, unless an exception is thrown
            page.Header.Controls.Add((Control) htmlLink);
            linkDictionary.Add(key, key);
            continue;
        }
        catch (Exception ex)
        {
            //added manually
            HtmlTextWriter writer = new HtmlTextWriter((TextWriter) new StringWriter(new StringBuilder()));
            htmlLink.RenderControl(writer);
            page.ClientScript.RegisterClientScriptBlock(typeof (Page), writer.InnerWriter.ToString(), writer.InnerWriter.ToString());
            flag = true;
            continue;
        }
    }
}

这意味着我可以检查所有标题控件并隐藏包含 "jquery-ui.custom.Default.css" 的标题控件。 ,但这仍然感觉像是一个肮脏的黑客(确实如此)。它也不会在 page.Header.Controls.Add 的情况下删除链接。会抛出异常。

最佳答案

我已经反编译了 WFFM,它似乎无法配置来更改或关闭它。因此,解决此问题的一种方法是直接编辑此文件并清除其内容。它仍然会被加载,但不会包含任何 CSS。

更新

根据您的更新,您还可以尝试以下操作:

Control ctl = WebUtil.FindControlOfType(Sitecore.Context.Page.Page, typeof(TYPE-OF-EXPECTED-CONTROL));

在哪里更换 TYPE-OF-EXPECTED-CONTROL .从这里你可以做任何你想做的事情,例如弄清楚它是否包含 CSS 等的链接。

关于sitecore - 如何防止营销人员的 Web 表单注入(inject)自己的 jquery-ui.custom.Default.css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9282587/

相关文章:

sitecore - 营销人员的 Web 表单重定向到错误路径

sql-server - Sitecore 数据库部署

asp.net - Sitecore CustomValidator 不会在 WFFM 自定义字段上触发

sitecore - 如何将参数传递给 Sitecore WFFM 中的表单

c# - 如何在 Sitecore 中限制发布而不删除

c# - 使用 ToList<T> 转换 Sitecore Item[] 的问题

security - 如何以编程方式获取站点中所有 Sitecore 域的列表?

c# - Sitecore 上传,使用项目语言而不是上下文语言

c# - 未找到站点核心 IComputedIndex 字段类/未运行

asp.net - Sitecore - Webforms for Marketers 2.3 - 将新表单插入页面