首页 新闻 会员 周边

Nvelocity模板引擎可以解析.aspx文件吗

0
[待解决问题]

我想在.aspx页面使用Nvelocity模板引擎,在对应的后台文件.aspx.cs写逻辑代码 最后解析该.aspx文件   string html = NvelocityHelp.Instance().ParseFile("SelectCourse.aspx"); 然后respon.write(html)输出解析后的html,可是每个.aspx页面一开始都有个指令代码:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SelectCourse.aspx.cs" Inherits="XKSystemWeb.Student.SelectCourse" %> 这段代码Nvelocity解析时会原样输出,怎么办?

谷樵的主页 谷樵 | 初学一级 | 园豆:36
提问于:2014-04-29 22:57
< >
分享
所有回答(3)
0

Nvelocity模板引擎 好像只针对htm开发的吧。。。

城小镇 | 园豆:202 (菜鸟二级) | 2014-04-30 14:24
0

Nvalocity几乎能解析所有常见的文本文件格式。你那个解析只是把aspx文件内容作为text输出,而不是html编码输出或者其他的方式编码输出。

wongdavid | 园豆:394 (菜鸟二级) | 2014-04-30 20:43

那Nvelocity能解析aspx页面吗  我尝试了下 可以 但是.aspx页面的服务器控件事件都不顶用了 还有一些其它小错误。实际项目中Nvelocity是不是一般都用它能解析html文件 很少看见有人用它解析aspx页面

支持(0) 反对(0) 谷樵 | 园豆:36 (初学一级) | 2014-05-01 15:00

@龍四: 你去参考Nvelocity解析vm文件。主要原因是你的输出转换有问题。

支持(0) 反对(0) wongdavid | 园豆:394 (菜鸟二级) | 2014-05-01 18:15
0

这个有一种方式我觉得可以,a.aspx此文件中包含服务器控件,包含模版语法,

你在输出html IHttpModule中拦截a.aspx中的文本,读入后用Nvelocity解析输出。

    public class OutputFilter : IHttpModule

{

.....

//关键的点,在HttpResponse 输入内容的时候,一定会调用此方法输入数据,所以要在此方法内截获数据
public override void Write(byte[] buffer, int offset, int count)
{
string strBuffer = System.Text.UTF8Encoding.UTF8.GetString(buffer, offset, count);

 

if (是否是a.aspx页面)
{
//页面没有输出完毕,继续追加内容
responseHtml.Append(strBuffer);
}
else
{
//页面输出已经完毕,截获内容
responseHtml.Append(strBuffer);
string finalHtml = responseHtml.ToString();

---加入Nv....解析

 

 

 

----------------------------------------------

希望对你有所帮助

 

 

amityat | 园豆:476 (菜鸟二级) | 2014-05-03 17:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册