【问题标题】:Convert Web Form to Web Content Form after the fact. (.net)事后将 Web 表单转换为 Web 内容表单。 (。网)
【发布时间】:2008-11-06 21:35:22
【问题描述】:

我有一个几年前的网站,其中包含大约 30 个带有代码的 aspx Web 表单页面。 我想以最少的工作量为所有这些添加一个通用母版页。

本质上,我只需要将正文标签中的所有内容添加到内容占位符,并保留后面的代码。

有没有快速的方法来做到这一点?

【问题讨论】:

    标签: asp.net webforms master-pages


    【解决方案1】:

    对每个页面执行以下操作 - 将属性添加到名为 MasterPageFile="Your MasterPage Path" 的 标记 - 添加以下标签 - 删除 html 和 head 标签及其内容,除了 body 标签 - 删除身体标签,但保留其内容 - 删除表单标签 - 完成

    【讨论】:

    • 还得加一个标签。
    【解决方案2】:

    剪切和粘贴效果很好 - 剪切所有旧的页眉/页脚内容并粘贴到内容控制标签中,然后添加母版页名称,您就完成了

    【讨论】:

    • 是的,这就是我要避免的。我正在寻找 Microsoft 编写但未记录的最高机密“将 MasterPage 添加到此表单”功能。你知道的,他们不想让你知道的隐藏秘密。
    • @chris:看在皮特的份上,你现在可能已经完成了!如果你那么懒,就做一个键盘宏;-)
    【解决方案3】:

    要记住的一点是,当您添加母版页时,您正在添加一个命名容器,因此您的所有客户端 ID 都会更改。如果您有任何与您的控件相关联的静态 javascript,请务必更新 id。

    【讨论】:

    • 我需要更改的是我感兴趣的表单字段的名称。原来是:Request.Form["requestedItem"],新的是:Request.Form["ct100$contentplaceholder1$ requestedItem"] 我不记得必须对使用母版页创建的新应用程序执行此操作。
    • 母版页内的任何内容都根据控件层次结构添加前缀。我在猜测,但我认为母版页中的字段不会在命名容器中。处理此问题的一种方法是获取控制服务器端的 ClientId。 ClientId 将接近名称 swap out _ for $
    猜你喜欢
    • 2023-04-11
    • 2017-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    相关资源
    最近更新 更多