Asp.net MVC 学习之路-002

简介: 时间:2017-03-08_ViewStart有局部和全局之分,如果在Views根目录下则是全局,如果在Views的子文件夹下则是局部的。int?:表示可空类型,就是一种特殊的值类型,它的值可以为null,给变量(int类型)赋值为null,而不是0,防止未给id传值的时候程序报错。

时间:2017-03-08

_ViewStart有局部和全局之分,如果在Views根目录下则是全局,如果在Views的子文件夹下则是局部的。

<b>int?</b>:表示可空类型,就是一种特殊的值类型,它的值可以为null,给变量(int类型)赋值为null,而不是0,防止未给id传值的时候程序报错。

public ActionResult Welcome(int? id)
        {
            ViewBag.id = id;
            return View();
        }

<b>重点:Html扩展方法的自定义</b>

强类型页面与弱类型页面

对于向前台传递数据
1.弱类型
后端:

      public ActionResult ShowCustomer(int id)
        {
            //根据Id获取当前的Customer信息,并且展示到View
            Customer customer = new Customer() { Id = id, SName = "Fnatic", Email = "1185@qq.com", Age = 21 };
            //弱类型,给到前端再强转到Customer类型
            ViewData["customer"] = customer;    //将数据给到一个容器ViewDat[]
            return View();
        }

前端:

<div>
    @{
        var customer = ViewData["customer"] as Customer;    //从ViewData[]中取出数据再装换为Customer类型。
    }
    <table>
        <tr>
            <td>用户名:</td><td>@customer.SName</td>
        </tr>
        <tr>
            <td>年龄:</td>
            <td>@customer.Age</td>
        </tr>
        <tr>
            <td>邮箱:</td>
            <td>@customer.Email</td>
        </tr>
        <tr>
            <td>顾客编号:</td>
            <td>@customer.Id</td>
        </tr>
    </table>
</div>

2.强类型
后端:

 public ActionResult Detail(int id)
        {
            Customer customer = new Customer() { Id = id, SName = "Fnatic", Email = "1185@qq.com", Age = 21 };
            ViewData.Model = customer;      //Model获取或设置与视图数据关联的模型
            return View();
        }

前端:

<div>
    @{
        Customer customer = ViewData.Model;
    }
    
    <table border="1px">
        <tr>
            <td>用户名:</td>
            <td>@customer.SName</td>
        </tr>
        <tr>
            <td>年龄:</td>
            <td>@customer.Age</td>
        </tr>
        <tr>
            <td>邮箱:</td>
            <td>@customer.Email</td>
        </tr>
        <tr>
            <td>顾客编号:</td>
            <td>@customer.Id</td>
        </tr>
    </table>
</div>

一个页面只能有一个model
所以如果有多个model应该在后端把model放进集合,再传给前端

补充: 对于HtmlHelper方法
弱类型:@Html.TextBox("asdasd");
强类型:@Html.TextBoxFor 的使用

目录
相关文章
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
42 0
|
1天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
29 0
|
1月前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css
5 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
100 5
|
3月前
|
XML 前端开发 定位技术
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
25 0
|
3月前
|
前端开发
.net core mvc获取IP地址和IP所在地(其实是百度的)
.net core mvc获取IP地址和IP所在地(其实是百度的)
124 0
|
3月前
|
前端开发 Java 应用服务中间件
快速上手:探索Spring MVC的学习秘籍!
快速上手:探索Spring MVC的学习秘籍!
|
3月前
|
前端开发 Java 数据库
MVC架构学习归纳总结(小傅哥の码场 学习专栏)
MVC架构学习归纳总结(小傅哥の码场 学习专栏)
20 0
|
5月前
|
设计模式 前端开发 Java
一篇文章让使你的Spring Mvc学习入门,还不来了解吗?
一篇文章让使你的Spring Mvc学习入门,还不来了解吗?