Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以像在MVC中一样覆盖Web表单中的视图吗?_C#_Asp.net_Webforms_Episerver - Fatal编程技术网

C# 我可以像在MVC中一样覆盖Web表单中的视图吗?

C# 我可以像在MVC中一样覆盖Web表单中的视图吗?,c#,asp.net,webforms,episerver,C#,Asp.net,Webforms,Episerver,在ASP.NET MVC中,我通常可以覆盖视图,例如,将具有相同名称的视图放在DisplayTemplates文件夹中。如果我想覆盖图像的呈现方式,我可以在文件夹中放置类似于images.cshtml的内容 现在,我想覆盖xforms在EPiServer中的呈现方式。我知道如何在ASP.NETMVC中实现这一点,但该项目使用Webforms 我曾尝试过搜索,但关于这个主题的文档似乎很少。例如,在ASP.NET MVC中,我可以扩展搜索引擎以搜索特定位置以查找我的视图,或者将它们放在ASP.NET

在ASP.NET MVC中,我通常可以覆盖视图,例如,将具有相同名称的视图放在
DisplayTemplates
文件夹中。如果我想覆盖图像的呈现方式,我可以在文件夹中放置类似于
images.cshtml
的内容

现在,我想覆盖xforms在EPiServer中的呈现方式。我知道如何在ASP.NETMVC中实现这一点,但该项目使用Webforms

我曾尝试过搜索,但关于这个主题的文档似乎很少。例如,在ASP.NET MVC中,我可以扩展搜索引擎以搜索特定位置以查找我的视图,或者将它们放在ASP.NET默认的位置

这在Web表单中似乎不起作用。有人知道怎么做吗

编辑:EPiServer有一个
.ascx
文件,用于渲染XForm。我想告诉ASP.NET改用我的
.ascx
文件。为此,我需要告诉ASP.NET查找我的
.ascx
文件,例如,告诉ASP.NET视图引擎在特定文件夹中查找我的
.ascx
,或者将其放置在视图引擎默认查找的位置


如何执行此操作?

如果要在任何地方替换它,只需替换ascx文件即可。否则,我恐怕答案是否定的。默认情况下,Web表单不会为文件寻找其他位置,因为控件通常使用完整路径或类名指定。您所要做的相当于C#在找不到类名时寻找替代名称空间。在Web表单中有实现此行为的方法,例如动态数据,但ascx控件不是这样。

如果使用属性Web控件显示值,则可以创建自己的自定义属性控件,并在属性控件工厂中为您的类型注册它。通过这种方式,可以控制属性的渲染方式

虽然这不允许您直接指出您的.ascx,但如果您愿意,可以将其加载到服务器控件中


有关在EPiServer中定制属性呈现的代码示例和此(以及其他一些)方法的重要总结,请参阅Mathias Kunto的博客文章。

更具体一些。你有什么产出?你想达到什么产出?我补充了一些信息。