首页 > 解决方案 > 在 asp.net webform 页面中注册 Src 属性并阻止 c# 代码

问题描述

我创建了这个助手:

   public static class UrlHelper
    {

        public static string  SharedFolderUrl = "/template/";
        public static string  SpecificFolderSiteUrl = "/static/";

        public static string GetSharedFileUrl(this System.Web.UI.Control control, string fileurl)
        {
            return control.ResolveUrl(string.Concat(
                SharedFolderUrl,
                fileurl,
                string.Concat((fileurl.Contains("?") ? "&v=" : "?v="), _SiteVersion)
            ).Replace("//", "/"));
        }

}

因此,在主页母版页中,我尝试更改此行:

<%@ Register TagPrefix="mscom" TagName="Wedcs" Src="/template/Wedcs.ascx" %>

经过 :

<%@ Register TagPrefix="mscom" TagName="Wedcs" Src="<%$ this.GetSharedFileUrl("controls/tracking/Wedcs.ascx")%>" %>

我有一个错误表明这一行的格式不正确。

我需要知道如何解决这个问题?

谢谢,

标签: c#asp.net.netwebformsuser-controls

解决方案


您要查找的内容称为VirtualPathProvider

这个概念是我们可以将文件移动aspxascx传统文件夹之外,并动态查找和渲染它们。例如,将它们存储在 SQL 数据库或 Azure Blob 存储中。

ASP.NET Web Form 是非常成熟的技术,你可以很容易地 google 一下如何实现 VirtualPathProvider。


推荐阅读