我想在.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解析时会原样输出,怎么办?
Nvelocity模板引擎 好像只针对htm开发的吧。。。
Nvalocity几乎能解析所有常见的文本文件格式。你那个解析只是把aspx文件内容作为text输出,而不是html编码输出或者其他的方式编码输出。
那Nvelocity能解析aspx页面吗 我尝试了下 可以 但是.aspx页面的服务器控件事件都不顶用了 还有一些其它小错误。实际项目中Nvelocity是不是一般都用它能解析html文件 很少看见有人用它解析aspx页面
@龍四: 你去参考Nvelocity解析vm文件。主要原因是你的输出转换有问题。
这个有一种方式我觉得可以,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....解析
----------------------------------------------
希望对你有所帮助