星空网 > 软件开发 > ASP.net

1、C# MVC学习之NVelocity基本使用

小白一个,刚刚开始学,大神不要笑话。。。。。。

NVelocity是一个很容易上手的框架,从它开始学习,可以循序渐进

首先,创建空web应用程序,新建一般处理程序 Login2.ashx

然后,引入NVelocity,

     1、C# MVC学习之NVelocity基本使用c

创建Html 页面login.htm,实现登录框架

    NVelocity语法是$开头

   

<html><head></head><body>  <strong><font color='green'>登录</font></strong>  <form action='Login2.ashx'>  <input type='text' name='username' value='$username'/>  <input type='password' name='password' value='$password' />  <input type='submit' value='登录'/>  </form>  <p>$msg</p></body></html>

编写Login2.ashx.cs页面,使用NVelocity处理请求

public class Login2 : IHttpHandler  {    public void ProcessRequest(HttpContext context)    {      context.Response.ContentType = "text/html";      string username = context.Request["username"];      string password = context.Request["password"];      if (string.IsNullOrEmpty(username) && string.IsNullOrEmpty(password))      {        VelocityEngine vltEngine = new VelocityEngine();        vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");        vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, System.Web.Hosting.HostingEnvironment.MapPath("~/templates"));//模板文件所在的文件夹        vltEngine.Init();        VelocityContext vltContext = new VelocityContext();        vltContext.Put("username", "");//设置参数,在模板中可以通过$data来引用        vltContext.Put("password", "");        vltContext.Put("msg", "");        Template vltTemplate = vltEngine.GetTemplate("login.htm");        System.IO.StringWriter vltWriter = new System.IO.StringWriter();        vltTemplate.Merge(vltContext, vltWriter);        string html = vltWriter.GetStringBuilder().ToString();        context.Response.Write(html);      }      else      {        if (username == "admin" && password == "123")        {          context.Response.Write("登录成功");        }        else        {          VelocityEngine vltEngine = new VelocityEngine();          vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");          vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, System.Web.Hosting.HostingEnvironment.MapPath("~/templates"));//模板文件所在的文件夹          vltEngine.Init();          VelocityContext vltContext = new VelocityContext();          vltContext.Put("username", username);//设置参数,在模板中可以通过$data来引用          vltContext.Put("password", password);          vltContext.Put("msg", "用户名或者密码错误");          Template vltTemplate = vltEngine.GetTemplate("login.htm");          System.IO.StringWriter vltWriter = new System.IO.StringWriter();          vltTemplate.Merge(vltContext, vltWriter);          string html = vltWriter.GetStringBuilder().ToString();          context.Response.Write(html);        }      }    }    public bool IsReusable    {      get      {        return false;      }    }

 NVelocity的强大之处不仅仅这些,它还可以对 对象的属性进行赋值,看下面的例子

     

<html><head></head><body>$p.Name<p>我的老爹是 $p.Father.Name,他的年龄是$p.Father.Age </p></body></html>

后台处理程序:

context.Response.ContentType = "text/html";      Person person = new Person();      person.Name = "张三";      person.Age = 30;      Person dad = new Person();      dad.Name = "张三的爹";      dad.Age = 60;      person.Father = dad;      VelocityEngine vltEngine = new VelocityEngine();      vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");      vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, System.Web.Hosting.HostingEnvironment.MapPath("~/templates"));//模板文件所在的文件夹      vltEngine.Init();      VelocityContext vltContext = new VelocityContext();      vltContext.Put("p", person);//设置参数,在模板中可以通过$data来引用      Template vltTemplate = vltEngine.GetTemplate("test.htm");      System.IO.StringWriter vltWriter = new System.IO.StringWriter();      vltTemplate.Merge(vltContext, vltWriter);      string html = vltWriter.GetStringBuilder().ToString();      context.Response.Write(html);

 




原标题:1、C# MVC学习之NVelocity基本使用

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

如何理解跨境电商的“半托管”热潮? :https://www.kjdsnews.com/a/1785169.html
9点聊电商:如何理解跨境电商的“半托管”热潮? :https://www.kjdsnews.com/a/1785170.html
宗庆后的未竟之事 500亿帝国上不上市 :https://www.kjdsnews.com/a/1785171.html
如何提升亚马逊的自然排名?:https://www.kjdsnews.com/a/1785172.html
中国电商每日海外运送量超10000吨;FTC阻止克罗格并购艾伯森 | 跨境电商日报:https://www.kjdsnews.com/a/1785173.html
亚马逊首次承认中国卖家在平台上占有“显著份额”。:https://www.kjdsnews.com/a/1785174.html
桂林酒店销售多少钱 桂林旅游宾馆价格:https://www.vstour.cn/a/410227.html
十里银滩旅游攻略玩什么住哪里怎么去?:https://www.vstour.cn/a/410228.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流