Asp.net Mvc Framework 六 (更多的View傳值及顯示方式)

來源:互聯網
上載者:User
我們前面都使用RenderView("Index");這種方式來顯示
RenderView的重載:RenderView(string viewName);
RenderView(string viewName, object viewData);
RenderView(string viewName, string masterName);
RenderView(string viewName, string masterName, object viewData);

我們常用的當然就是第一種
第二種RenderView(string viewName, object viewData);是在顯示view時附加一個ViewData
如:

RenderView("Index", new
{
    name = "重典",
    sex = true
});

我們就可以在相應的View(即Index.aspx)中調用<%=ViewData["name"]%>來得到它的值

RenderView(string viewName, string masterName);
則是除了Viewname之外還指定了母板頁
如果程式寫為

RenderView("index", "layoutpage");

則是顯示index這個View , 但是母板頁使用/Views/Shared/layoutpage.master


最後一個重載是前兩者的結合,這裡不多說了

更多的View傳值方式
前面說了向VIew傳值可以用ViewData或者是TempData
這裡我們介紹ViewData傳值的另一種的方式

與Models綁定
這是我們第一次介紹Models,其實Models就是一個資料模型,比如,使用者,人,訪問記錄等
我們建立一個Person類namespace MvcApplication2.Models
{
    public class Person
    {
        string _name;

        public string Name {
            get { return _name; }
            set { _name = value; }
        }
        bool _sex;

        public bool Sex {
            get { return _sex; }
            set { _sex = value; }
        }
    }
}

類中有Name與Sex兩個屬性
我們仍然用Eice的Index這個Action來書寫樣本
首先我們執行個體化一個Person並將之傳給View            Person p = new Person()
            {
                Name = "鄒健",
                Sex = true
            };
            RenderView("Index", p);

接下來我們更改View中Eive/Index.aspx.cs
將它的更改如下    public partial class Index : ViewPage<Person>
    {
    }

也就是原來Index是繼承ViewPage的而現在繼承了ViewPage<Person>這個泛型
接下來我們可以在Index.aspx中寫類似以下語句了<%=ViewData.Name %>
<%=ViewData.Sex %>

當然您也可以不寫ViewPage<Person>而還像從前一樣繼承於ViewPage
那麼存取方法就是過去的<%=ViewData["Name"] %>
<%=ViewData["Sex"] %>

回首望去MS講的內容與標題反了...Eat去了...每天都為吃發愁...
Asp.net Mvc Framework 系列

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.