2013-02-14 73 views
1

我需要我的ASP.NET MVC应用程序将一些html注入到用特定css类标记的剃须刀视图div元素中。ASP.NET MVC中的自定义HTML调整过滤器

例如,如果在剃刀我有:

<div class="editable"> 
</div> 

我想有检查所呈现的剃刀视图和注入一些其他元件C#的逻辑。

生成的HTML将包含一个按钮:

<div class="editable"> 
    <div class="edit-button"></div> 
</div> 

是否有在ASP.NET MVC一个meachanism,让我实现这种注射?

回答

2

要修改响应的输出,请添加response filter。有关使用MVC属性选择应用响应过滤器的示例,请参阅asp.net MVC 3/4 equivalent to a response.filter

使用这样的过滤器,您可以在发送到客户端之前访问页面的内容。要修改HTML,你可以使用HTML agility pack

我想知道你是不是可以在视图中首先生成正确的标记。

如果你觉得你正在做的事情的冗余,可以考虑使用

+1

,根据从一个哥们请注意ASP.NET团队[由于Razor缓冲输出**的方式,Razor不支持响应过滤器](http://forums.asp.net/t/1634304.aspx#4216340)。您将收到错误“不允许过滤”。 – 2015-10-01 07:00:39