MVC ASPX(webForm)视图引擎 <%:%> 与<%=%>的差别

控制器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcApplication2.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            ViewData["Script"] = "<script>alert('Dome')</script>";
            return View();
        }

    }
}

视图

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div>
        <!-- 假设用=号的话,就是原封不动的输出ViewData["Script"]中的代码,这样easy遭到跨站脚本的攻击,不够安全,所以这里是弹出一个对话框吗,对话框内容为Dome-->
        <%=ViewData["Script"] %>  

         <!--<%: %>相当于<%=Html.Encode(<script>alert('Dome')</script>) %> 推荐大家用冒号,这里输出的是<script>alert('Dome')</script>-->
        <%:ViewData["Script"] %> 

        <!--假如说我如今就是想在前台页面输出一些Html标签,或一些代码,就想让它原封不动的去运行那段代码,比方说我如今就想给一个Div标签放到页面去,怎么办呢,下面三种方法都能够,并且不用=号更安全-->

        <%:Html.Raw("<div>我是div标签</div>") %>

        <%:new HtmlString("<p>我是p标签</p>") %>

        <%:new MvcHtmlString("<p>我也是p标签</p>") %>

    </div>
</body>
</html>
时间: 2024-11-02 15:54:03

MVC ASPX(webForm)视图引擎 &lt;%:%&gt; 与&lt;%=%&gt;的差别的相关文章

转载:ASP.NET MVC扩展自定义视图引擎支持多模板&amp;动态换肤skins机制

ASP.NET mvc的razor视图引擎是一个非常好的.NET MVC框架内置的视图引擎.一般情况我们使用.NET MVC框架为我们提供的这个Razor视图引擎就足够了.但是有时我们想在我们的项目支持多模板&skins机制,比如我们可能会有多套的模板,也就是多个View风格,而我们只需要改一下配置文件就可以轻松的改变页面的风格和模板.实现这个功能有两种方式: 一.使用接口IViewEngine自己完成一个类似Razor视图引擎的功能. 二.继承类RazorViewEngine类,重写它的一些方

Asp.net MVC 移除视图引擎(WebFormViewEngine或者RazorViewEngine)

ASP.NET MVC 有两种视图引擎,分别asp.net语法的:WebFormViewEngine 与Razor视图的新语法:RazorViewEngine. 在MVC默认查找视图时,会按照指定的顺序查找,进行匹配视图,当我们的MVC程序未找到视图时,页面中会出现错误信息: 看到图片由可可知,它会先执行webfrom视图引擎查找,其次才是razor视图引擎,而现在ASP.NET MVC 项目通常只所有一种视图引擎就 已经足够了.如果是这样的话,另外一种视图引擎显得多余了,(里面多少也会给性能带

.NET MVC 两种视图引擎(Razor、Aspx)

ASPX 优点: 通过上面小小的对比,不难看出,与ASP.NET MVC紧密集成,对于以往ASP.NET开发人员有更好体验.其实它还有其他几优点: ●智能感应 ●能选择其它语言的 CodeDom provider (例如: C#, VB.NET, F#, Boo, Nemerle) ●立即编译或预编译的views 缺点: 当然也有缺点了: ●在Asp.net MVC中容易与经典的Asp.net模式混淆起来,并且Asp.net MVC已不再支持它们. (例如: ViewState PostBack

MVC 【Razor 视图引擎】案例分析

using MvcApplication1.Models; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcApplication1.Controllers { public class LoginController : Controller { // // GET: /Login/ // 登录视图 pu

Asp.net MVC 移除不用的视图引擎

Asp.net MVC 默认提供两个视图引擎,分别为: WebFormViewEngine 和 RazorViewEngine.MVC在查找视图时,会按照指定的顺序进行查找.当我们的MVC程序未找到相应视图时,页面中将出现如下错误信息: 由上图可知,它优先执行的是 webform 视图引擎查找,其次才是 razor 视图引擎.而在我们mvc项目中,通常只用到 razor 或 webform 中的一种(大多数都是用的razor).假如我们项目中只用到 razor ,那么在这种情况下,去执行 web

NancyFX 第六章 视图引擎

正如其他的Web工具包,Nancy也有视图的概念,用来描述在浏览器上看到的输出 视图的定义 你可能没有之前没有接触过"视图"的概念,或是仅仅是从其他工具包例如ASP.NET MVC 中听说过.(其中MVC中"V"代表"View") 你是否想过视图到底是什么那? 根据牛津字典的释义,视图时能够看到的东西,或是在特定情况下看到的东西. 视图是终端用户在浏览器中看到的东西.根据定义浏览器中可以看到的输出都可以称之为视图. 至于我们在次的定义的视图应该是

ASP.NET 视图引擎

ASP.NET 中从MVC3.0 开始引入可Razor视图引擎.而遗留的ASPX引擎对维护与旧版的MVC程序是用的. 一.视图引擎是实现了IViewEngine接口,View Engine的作用是把对View的请求转换成ViewEngineResult对象,下面是此接口的定义: namespace System.Web.Mvc { public interface IViewEngine { ViewEngineResult FindPartialView(ControllerContext c

2014-07-29 浅谈MVC框架中Razor与ASPX视图引擎

今天是在吾索实习的第15天.随着准备工作的完善,我们小组将逐步开始手机端BBS的开发,而且我们将计划使用MVC框架进行该系统的开发.虽然我们对MVC框架并不是非常熟悉,或许这会降低我们开发该系统的效率,但是我们可以通过边学边做的方式来实现其开发的.这不仅便于我们日后对系统的管理与维护,而且还给我们带来一个学习的动力与实践的地方. 但我们在创建一个基于MVC框架的项目时,就遇到一些问题了.那就是MVC的视图引擎是有两种的,一种是Razor,会以cshtml后缀的文件作为视图文件:另一种是ASPX,

MVC 【ASPX视图引擎】

新建项目----ASP.NET MVC 4 Web 应用程序------选择模板(空).视图引擎(ASPX) 1.认识控制器Controller using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MVC1.Models; namespace MVC1.Controllers //命名空间 { //控制器名称 //继承Con