文档章节

MVC中View界面数据呈现示例

深圳大道
 深圳大道
发布于 2016/12/29 15:24
字数 625
阅读 2
收藏 0
@using System.Text;
@model List<MvcShopping.Models.ProductCategory>
@{
    ViewBag.Title = "测试程序"; 
}
<br />接收控制器传递的数据 @ViewBag.UserName
<br />显示Model的名称:@Html.DisplayNameFor(model => model[0])
<br />现在时间:@DateTime.Now
<br />启用状态:@ViewBag.Title
<br />多行C#代码
@{
    var name = "小李";
    var message = "你好,我是" + name;
    <text>                  @*注释:不输入任何HTML标签*@
       @message <br/>       @*这是注释部分不显示*@
    </text>
    <span>我是小王</span><br/>
    <text>
          xiaoli@126.com
    </text>
    @ViewBag.Content;       @*没有也不会报错*@
}

<br/>html内容和Razor混排:
@ViewBag.Title李琳<br/>     @*直接当C#语法执行,不显示也不换行*@
@(ViewBag.Title)李小玲<br />     @*加括号后智能识别,且换行,*@
<span>@ViewBag.Title</span>李梅<br />

输出html标签元素
@{
    var desc = "<span style='color:red'>这是HTML标签</span>";
    @desc   @*显示    <span style='color:red'>这是HTML标签</span>*@
    <br/>
    @Html.Raw(desc); @*显示红色字体“这是HTML标签”*@
}

@*条件判断语句*@
@if (ViewBag.Content == null)                 
{
    <p>无此对象</p>
}
else
{
    <p>有这个对象</p>
}
三元表达式:@(ViewBag.Content == null ? "无" : "有")

循环显示数据列表:
<ul>
    @{
        @*混合示例*@
        <h3>成员列表</h3>
        string[] peoples = { "will", "jame", "robin" };
        foreach (var item in peoples)
        {
            <li>@item</li>
        }
    }
    @foreach (var item in Model)
    {
        <li>@Html.DisplayNameFor(model => item.Name)</li>
        <li>@Html.ActionLink(item.Name, "ProductList", new { id = item.Id })</li>
    }
</ul>

辅助方法(可以新建类文件引用):
@helper ShowYesOrNo(int i)
{
        if (i==0)
        {
            <text>否</text>
        }
        else
        {  
            <text>是</text>
        }
}
<p>
    引用方法
    @ShowYesOrNo(1)
</p>

自定义函数(可以新建类文件引用):
@functions
{
    public static string ShowYN(int i)
    {
        var str=(i==0)?"否":"是";
        return str;
    }
}
<p>
    引用方法
    @ShowYN(1)
</p>

<p>
    HTML辅助方法区
    @Html.ActionLink("链接文字", "ActionName")    <br />
    @Html.ActionLink("链接文字", "ActionName", "ControllerName")    <br />
    @Html.ActionLink("链接文字", "ActionName", new { id = 123, page = 5 })    <br />
    <a href="@Url.Action("ActionName")" class="linkButton">图片</a>   <br />

    @Html.RouteLink("回首页", new { type = "default" })    <br />
    @Html.RouteLink("回首页", "Default", new { type = "index" })   --对应路由 <br />
    @Html.RouteLink("回首页", new { type = "default" }, new { @class = "back" })    <br />
</p>

<p>
    输出表单<br />
    @using (Html.BeginForm("ActionName","ControllerName",FormMethod.Post))
    {
        <p>账号:@Html.TextBox("Account","张三")</p>
        <p>密码:@Html.Password("pwd")</p>
        @*添加自定义元素控制 可控制style,width,class等*@
        <p>验证码:@Html.TextArea("code", "authcode", new { style = "width:100px;", rows = 10, @class = "taclass" })</p>
        <input type="submit" value="登录"/>
    }
</p>

<p>
    输出表单上传文件<br />
    @using (Html.BeginForm("ActionName", "ControllerName", FormMethod.Post,
        new { enctype = "multipart/form-data" })) 
    {
        <p>选择文件:@Html.TextBox("File1", "", new { type = "file", size = "25" })</p>
        <input type="submit" value="上传文件" />
    }
</p>

<p>
    输出表单上传文件<br />
    @using (Html.BeginForm("ActionName", "ControllerName", FormMethod.Post,
        new { enctype = "multipart/form-data" }))
    {
         <p>选择文件:@Html.TextBox("File1", "", new { type = "file", size = "25" })</p>
        <input type="submit" value="上传文件" />
    }
</p>
<p>
    模拟HTTP delete请求,符合REST接口请求标准<br />
    @using (Html.BeginForm("DeleteMessage", "Message"))
    {
        @Html.HttpMethodOverride(HttpVerbs.Delete)
        @Html.Hidden("id","123");
        <input type="submit" value="删除此数据" />
    }
</p>

本文转载自:http://blog.csdn.net/smartsmile2012/article/details/51756336

共有 人打赏支持
深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
MVC、MVP以及Model2[上篇]

对于大部分面向最终用户的应用来说,它们都需要具有一个可视化的UI与用户进行交互,我们将这个UI称为视图(View)。在早期,我们倾向于将所有与视图相关的逻辑糅合在一起,这些逻辑包括数据的...

长平狐
2012/09/04
165
0
表现层模式-MVC

在前面简述了从服务层到数据层参见架构设计目录。剩下了表现层,一个再好的中间层表现也必须有一个用户界面,提供和用户交互,将用户行为输入转化为系统操作,进入后台逻辑。在当下RAD(快速...

zting科技
2017/01/10
0
0
一个简单登陆示例的MVC和MVP实现

作者:长剑废水(博客) 登录示例:MVC 自上篇《iOS基于MVC的项目重构》总结之后,我又思考了下面这个问题:在UIKit自身的设计中UIViewController是被当做C还是V呢? 例如我们点击View上某个...

北方人在上海
2016/05/19
85
1
ExtJS4.x中创建MVC结构客户端程序

ExtJS4.x推荐数据在页面的呈现可以选择采用MVC结构。当采用ExtJS的MVC结构时,需要配置好MVC层(model,controller,view三层)中的各个类,这样在加载controller层时,ExtJS会帮我们注册、初...

李词超
2013/10/22
0
0
ASP.NET MVC的Model元数据与Model模板:将”ListControl”引入ASP.NET MVC

我们不仅可以创建相应的模板来根据Model元数据控制种类型的数据在UI界面上的呈现方法,还可以通过一些扩展来控制Model元数据本身。在某些情况下通过这两者的结合往往可以解决很多特殊数据的呈...

长平狐
2012/09/04
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring学习记录

Java类定义配置 @Configuration //标记为配置类@ComponentScan //标记为扫描当前包及子包所有标记为@Component的类@ComponentScan(basePackageClasses = {接口.class,...}) //标记为扫描当...

CHONGCHEN
22分钟前
0
0
如何开发一款以太坊(安卓)钱包系列2 - 导入账号及账号管理

这是如何开发一款以太坊(安卓)钱包系列第2篇,如何导入账号。有时用户可能已经有一个账号,这篇文章接来介绍下,如何实现导入用户已经存在的账号。 导入账号预备知识 从用户需求上来讲,导...

Tiny熊
今天
3
0
intellJ IDEA搭建java+selenium自动化环境(maven,selenium,testng)

1.安装jdk1.8; 2.安装intellJ; 3.安装maven; 3.1 如果是单前用户,配置用户环境变量即可,如果是多用户,则需配置系统环境变量,变量名为MAVEN_HOME,赋值D:\Application\maven,往path中...

不最醉不龟归
今天
4
0
聊聊ShenandoahGC的Brooks Pointers

序 本文主要研究一下ShenandoahGC的Brooks Pointers Shenandoah Shenandoah面向low-pause-time的垃圾收集器,它的GC cycle主要有 Snapshot-at-the-beginning concurrent mark包括Init Mark(P......

go4it
昨天
4
0
Makefile通用编写规则

#简单实用的Makefile模板: objs := a.o b.o test:$(objs) gcc -o test $^ # .a.o.d .b.o.d dep_files := $(foreach f,$(objs),.$(f).d) dep_files := $(wildcard $(dep_files)) ifneq ($(d......

shzwork
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部