• ASP.NET MVC3数据绑定到VIEW的方式


    ASP.NET MVC3数据绑定到VIEW的方式

    1、     指定页面数据的强类型Module

    数据类型是强类型,编译时报错,运行效率高

    Action:

          public ActionResult Index()

          {

            var _instructors = new List<Instructor>(

               new Instructor[]

               {

                  new Instructor

                  {

                     Name = "Nimane1",

                     TwitterHandler = "@fasdd",

                     HtmlDescription = "This"

                  }

                  , new Instructor

                  {

                     Name = "Nimane2",

                     TwitterHandler = "@fasdd",

                     HtmlDescription = "This"

                  }

               }

            );

            ViewBag.Message = "Welcome to ASP.NET MVC!";

            return this.View(_instructors);

          }

    View:

    @using MvcApplication1.Models

    @model IEnumerable<Instructor>

    @{

        ViewBag.Title = "Index";

        Layout = "~/Views/Shared/_Layout.cshtml";

    }

    <h2>@ViewBag.Message</h2>

    <div>

        @foreach (var item in Model)

        {

            @Html.Partial("InstructorView", item)

        }

    </div>

    InstructorView:

    @model MvcApplication1.Models.Instructor

    <fieldset>

        <legend>Instructor</legend>

        <div class="display-label">

            Name</div>

        <div class="display-field">

            @Model.Name

        </div>

        <div class="display-label">

            TwitterHandler</div>

        <div class="display-field">

            @Model.TwitterHandler

        </div>

        <div class="display-label">

            HtmlDescription</div>

        <div class="display-field">

            @Html.Raw(@Model.HtmlDescription)</div>

    </fieldset>

    <p>

        @Html.ActionLink("Edit", "Edit", new { })

        @Html.ActionLink("Back to list", "Index")

    </p>

    2、     使用ViewData绑定到页面

    数据类型是object,运行时报错,在 页面中需要对数据进行显示转换,运行效率低

    Action:

          public ActionResult ViewData ()

          {

            List<string> colors = new List<string>(

               new string[]

               {

                  "red","green","blue"

               }

            );

     

            ViewData["listColors"] = colors;

            ViewData["dateNow"] = DateTime.Now;

            ViewData["name"] = "Nicoles";

            ViewData["age"] = 24;

     

            return this.View();

          }

    View:

        <div>

            <p>section for viewdata display:</p>

            <p>my name is :

                <b>@ViewData["name"]</b>

                <b>@ViewData["age"]</b> years old.

                <br/>

                I like the colors:

            </p>

            <ul id="colors">

                @foreach (var color in ViewData["listColors"] as List<string>)

                {

                    <li>

                        <font color="@color">@color</font>

                    </li>

                }

                <li></li>

            </ul>

        </div>

    3、     使用ViewBag绑定到页面

    数据类型是dynamic,运行时报错,运行效率中

          public ActionResult ViewBag()

          {

            List<string> colors = new List<string>(

               new string[]

               {

                  "red","green","blue"

               }

            );

            ViewBag.ListColors = colors;

            ViewBag.DateNow = DateTime.Now;

            ViewBag.Name = "Nicoles";

            ViewBag.Age = 24;

            return this.View();

          }

    View:

    <div>

            <p>section for viewbag display:</p>

            <p>my name is :

                <b>@ViewBag.Name</b>

                <b>@ViewBag.Age</b> years old.

                <br/>

                I like the colors:

            </p>

            <ul id="colors_a">

                @foreach (var color in @ViewBag.ListColors)

                {

                    <li>

                        <font color="@color">@color</font>

                    </li>

                }

                <li></li>

            </ul>

        </div>

     

  • 相关阅读:
    数学--数论--HDU 2136(素数筛选法)
    思维+模拟--POJ 1013 Counterfeit Dollar
    数学--数论--莫比乌斯函数
    事半功倍和事倍功半
    一道阿里面试题
    文本分类学习(三) 特征权重(TF/IDF)和特征提取
    汉字字典树
    文本分类学习(二)文本表示
    文本分类学习(一):开篇
    一道网易面试编程题
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2986123.html
Copyright © 2020-2023  润新知