我正在编辑.ascx和.ascx.cs控件,但是,我看到using MMG.Global
和using 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的网络服务,一直在努力如何在网站的当前设置中实现这一点。
答案 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>