在 Web 窗体页面中注册 Src 属性并阻止 C# 代码 asp.net



我创建了这个助手:

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")%>" %>

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

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

谢谢

您正在寻找的内容称为VirtualPathProvider

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

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

在内部使用复杂的东西时,我已经通过使用单个刻度来解决了很多绑定语句格式问题。

而不是

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

你可以试试

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

相关内容

  • 没有找到相关文章