本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

_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>
            <td>用户名:</td><td>@customer.SName</td>
            <td>年龄:</td>
            <td>@customer.Age</td>
            <td>邮箱:</td>
            <td>@customer.Email</td>
            <td>顾客编号:</td>
            <td>@customer.Id</td>
    </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">
            <td>用户名:</td>
            <td>@customer.SName</td>
            <td>年龄:</td>
            <td>@customer.Age</td>
            <td>邮箱:</td>
            <td>@customer.Email</td>
            <td>顾客编号:</td>
            <td>@customer.Id</td>
    </table>
</div>


一个页面只能有一个model

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

补充: 对于HtmlHelper方法

弱类型:@Html.TextBox("asdasd");

强类型:@Html.TextBoxFor 的使用