我没有创建的用户控件编辑

时间:2014-02-17 22:36:14

标签: c# asp.net web-config

我正在编辑.ascx和.ascx.cs控件,但是,我看到using MMG.Globalusing MMG.CMS,这些是.ascx控件中的命名空间,如下所示:

<%@ Import Namespace="MMG.Global" %>
<%@ Import Namespace="MMG.CMS" %>

嗯,问题是这些文件包含了我需要的所有对象,比如按钮和占位符等。新服务将使用IDSS,并将取代MMG的服务,但想知道它是否是可以编辑这些文件以及更换MMG以使用IDSS的相关内容吗?

我相信MMG是在原始项目中使用的引用,当它构建时,它被部署在.ascx和.ascx.cs文件中。但我不知道这种事情是如何起作用的,这就是我要问的原因。

更换具有MMG前缀的20-30个用户控件的最佳方法是什么?

在MasterMain.master文件中,我有以下内容:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterMain.master.cs" Inherits="MasterMain"       %>
<%@ Register TagPrefix="mmg" TagName="SEOControl"               Src="~/controls/SEOControl.ascx"            %>
<%@ Register TagPrefix="mmg" TagName="ScriptControl"            Src="~/controls/ScriptControl.ascx"         %>
<%@ Register TagPrefix="mmg" TagName="HeaderControl"            Src="~/controls/HeaderControl.ascx"         %>
<%@ Register TagPrefix="mmg" TagName="HeroControl"              Src="~/controls/HeroControl.ascx"           %>
<%@ Register TagPrefix="mmg" TagName="MenuFooterControl"        Src="~/controls/MenuFooterControl.ascx"     %>
<%@ Register TagPrefix="mmg" TagName="StickyFooterControl"      Src="~/controls/StickyFooterControl.ascx"   %>
<%@ Register TagPrefix="mmg" TagName="FavoritePromptControl"    Src="~/controls/Forms/FavoritePromptControl.ascx" %>
<%@ Register TagPrefix="mmg" TagName="LoginRegistrationControl" Src="~/controls/Forms/LoginRegistrationControl.ascx" %>
<%@ Register TagPrefix="mmg" TagName="EmailFavoriteFormControl" Src="~/controls/Forms/EmailFavoriteFormControl.ascx" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title runat="server" visible="false"></title>
        <mmg:SEOControl    ID="TheSEOControl"    runat="server" />
        <asp:Literal       ID="TheFavIcon"       runat="server" />
        <mmg:ScriptControl ID="TheScriptControl" runat="server" />
        <asp:ContentPlaceHolder ID="TheHeadContentPlaceHolder" runat="server"></asp:ContentPlaceHolder>
    </head>
    <body class="" data-page="">
        <form id="form1" runat="server">
            <asp:ScriptManager ID="TheScriptManager" runat="server">
                <CompositeScript>
                    <Scripts>
                        <asp:ScriptReference name="MicrosoftAjax.js"                            />
                        <asp:ScriptReference name="MicrosoftAjaxWebForms.js"                    />
                        <asp:ScriptReference Path="/scripts/jquery.stickyfooter.js"             />
                        <asp:ScriptReference Path="/scripts/modernizr.js"                       />
                        <asp:ScriptReference Path="/scripts/jquery-select2/select2.min.js"      />
                        <asp:ScriptReference Path="/scripts/jquery.jcarousel.pack.js"           />
                        <asp:ScriptReference Path="/scripts/jquery.cycle.all.js"                />
                        <asp:ScriptReference Path="/scripts/bootstrap-tab.js"                   />
                        <asp:ScriptReference Path="/scripts/jquery-ui-1.9.1.custom.min.js"      />
                        <asp:ScriptReference Path="/scripts/jquery.isotope.min.js"              />
                        <asp:ScriptReference Path="/scripts/BaseUI.js"                          />                        
                        <asp:ScriptReference Path="/scripts/FavoriteUI.js"                      />
                        <asp:ScriptReference Path="/scripts/UserLoginUI.js"                     />


                    </Scripts>
                </CompositeScript>
            </asp:ScriptManager>
            <div id="Container" class="">
                <mmg:HeaderControl          ID="TheHeaderControl"       runat="server" />
                <mmg:HeroControl            ID="TheHeroControl"         runat="server" />
                <asp:ContentPlaceHolder     ID="TheContentPlaceHolder"  runat="server" />
                <mmg:StickyFooterControl    ID="TheStickyFooterControl" runat="server" />
            </div>
            <mmg:MenuFooterControl      ID="TheMenuFooterControl"   runat="server" />
        </form>
        <mmg:FavoritePromptControl    ID="TheFavoritePromptControl"     runat="server" />
        <mmg:LoginRegistrationControl ID="TheLoginRegistrationControl"  runat="server" />
        <mmg:EmailFavoriteFormControl ID="TheEmailFavoriteFormControl"  runat="server" />
    </body>
</html>



<script type="text/javascript"> 
        UserLoginUI.SiteUser        = <%= _SiteUserJson %> 
        FavoriteUI.FavoriteList     = <%= _FavoritesJson %>
    </script>

但这些不是命名空间,并且想知道我是否只编辑.ascx和.ascx.cs文件,这还不错吗?或者创建一个新项目并将其与MMG捆绑在一起的方式联系起来会更好吗?

IDSS是一个需要替换MMG的网络服务,一直在努力如何在网站的当前设置中实现这一点。

1 个答案:

答案 0 :(得分:1)

  

嗯,问题是这些文件包含所有对象   我也需要,如按钮和占位符等。新的   服务将使用IDSS,并将取代MMG的服务,但是   想知道是否可以编辑这些文件以及将会是什么   参与更换MMG而不是使用IDSS?

您可以将 mmg 替换为 MasterMain.master <%@ Register TagPrefix="mmg" ... %>中的 idss <%@ Register TagPrefix="idss" ... %>

如果您这样做,则必须重命名 MasterMain.master 中的所有mmg标记,例如<idss:SEOControl ID="TheSEOControl" runat="server" />

  

但这些不是命名空间,并且想知道我是否只是编辑了   .ascx和.ascx.cs文件,这还不错吗?

你是对的。没有命名空间,因此重命名标记不会造成任何伤害。

注意:如果在web.config中注册了控件,则不能简单地在单个文件中重命名。 但是,这不是我在您的方案中看到的。例如,

<system.web>
  <pages>
    <controls>
     <add tagPrefix="telerik" namespace="Telerik.Web.UI" 
        assembly="Telerik.Web.UI" />
    </controls>
  </pages>
</system.web>