博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET MVC3学习--视图和模型(2)
阅读量:4107 次
发布时间:2019-05-25

本文共 1440 字,大约阅读时间需要 4 分钟。

如果想展示HTML标记,则需返回System.Web.IHtmlString对象的实例,Razor不对它进行编码,也可用Html.Row来显示   

@{

    String message=“<scritp>alert('Olive')</script>”;}
    <span>@Html.Row(message)</span>

    这样就可以显示弹框了

    与此同时,在Javascript中将用户提供的值赋给变量时,要使用Javascript字符串编码而不是HTML编码,也就是用

 

@Ajax.JavaScriptStringEncode方法来对用户的输入进行编码的

    这样就可以有效的避免跨站脚本的攻击,如下:

   

    Razor语法示例

    1、隐式代码表达式

    <sapn>@model.Message</span>

    Razor中隐式表达式总是采用HTML编码方式

    2、显示代码表达式

    <span>ISBN@(isbn)</span>

    3、无编码代码表达式

    使用Html.Row方法来确定内容不被编码

    <span>@Html.Row(model.Message)</span>

    4、代码块

    @{
    Int x=123;
    String y=“because”;
    }

    5、文本和标记组合

    @foreach(var item in items)
    { <span>Item @item.Name.</span>}

    6、混合代码和纯文本

    @if(show)
    {
    <text>This is Olive</text>
    }

    或者

    @if(show)
    {
    @This is Olive
    }

   布局

    ASP.NET MVC 3中的布局相当于WebForm中的母版页

    如下布局页中部分代码:

    <div id=“main-content”>@RenderBody()</div>

    其中的@RenderBody()相当于WebFrom中的placeholder占位符

    布局使用示例:

    @{
    Layout=“~</Views/Shared/Layout.cshtml”;
    }

    <span>This is main content!</span>

    此外,布局中还可能有多个节,如下:部分布局页代码示:

 

@RenderBoday()
@RenderSeciton(“Footer”)

    如果对视图页不做任何改变则会报错,这里需要对视图页做如下修改
    

@{    Layout=“~This is a main content!

@section Footer{ This is the footer }

    @section语法为布局中定义的一个节指定了内容,在默认的情况下视图必须为布局中定义的节指定内容,但是

 

RenderSection方法有一个重载 版本,允许指定不需要的节,即为required参数传递一个false值来标记Footer节是可选的,如下:

    <footer>@RenderSection(“Footer”,false)</footer>

    也可以定义一些薯条中没有定义节时的默认内容,方法如下:

  

@if(IsSectionDefined(“Footer”)) { RenderSection(“Footer”); } Else {
This is the default footer. }

 

转载地址:http://oztsi.baihongyu.com/

你可能感兴趣的文章
Remove Element--原地移除重复元素
查看>>
Remove Duplicates from Sorted Array--从有序数组中移除重复元素
查看>>
Count and Say
查看>>
Gas Station
查看>>
Palindrome Partitioning --回文切割 深搜(重重)
查看>>
Valid Palindrome 简单的回文判断
查看>>
Pascal's Triangle -- 生成杨辉三角
查看>>
Pascal's Triangle II 生成杨辉三角中的某行
查看>>
Minimum Depth of Binary Tree -- 二叉树的最小深度 DFS 加剪枝
查看>>
Climbing Stairs 爬楼梯方法 动态规划
查看>>
Merge Two Sorted Lists 合并两个有序链表
查看>>
pow(x,n) 为什么错这么多次
查看>>
Jump Game 动态规划
查看>>
Binary Tree Maximum Path Sum 自底向上求解(重重重重)
查看>>
Subsets 深搜
查看>>
Subsets II
查看>>
Edit Distance 字符串距离(重重)
查看>>
Gray Code 格雷码
查看>>
对话周鸿袆:从程序员创业谈起
查看>>
web.py 0.3 新手指南 - 如何用Gmail发送邮件
查看>>