MVC ASPX(webForm)视图引擎 <%:%> 与<%=%>的区别
2014-09-17 10:16
148 查看
控制器
视图
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"]中的代码,这样容易遭到跨站脚本的攻击,不够安全,所以这里是弹出一个对话框吗,对话框内容为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>
相关文章推荐
- MVC ASPX(webForm)视图引擎 <%:%> 与<%=%>的差别
- <a> href=javascript://与href="#"的区别
- <context-param>与<init-param>的区别与作用
- <context-param>与<init-param>的区别与作用
- <html:checkbox>和<html:multibox>的区别
- c与c++的区别 <转> 深有感触
- <sstream>和<strstream>的区别
- <jsp:usebean> 标签中的scope取值范围区别
- <input>里name和id的区别
- "<br />"和 "\r\n" 这两者有什么区别??
- <iframe>和<frame>的区别是什么?
- <%= %> <%# %> 区别
- <jsp:include> 和 <iframe src=""...>的区别
- <%@include%> 和 jsp:include 区别
- <string>和<string.h>两头文件区别
- <同步,异步>与<阻塞,非阻塞>的区别?
- <jsp:forward>与response.sendRedirect()的区别
- &lt;%!int n = 1 %&gt; 与&lt;%int n = 1 %&gt; 的区别
- 提交表单<input type="button" value="登录" onclick="login()"/> 和<button onclick="login()">登录</button>区别
- <%@ include file=”relativeURI”%>与<jsp:include page=””>的区别