Asp.net Mvc Framework 五 (向View傳值以及Redirect)

來源:互聯網
上載者:User
ViewData與TempData屬性來向View頁傳遞對象
上文中已經提到,使用ViewData可以將資料由Controller傳遞到View
在前文中我們建立了EiceController類
在本文的樣本中我們將這個Controller改一下namespace MvcApplication2.Controllers
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    /**//// <summary>
    /// 記不記得前面講過的,所有Controller都要繼承於
    /// Controller類當然Controller有很多種,我們慢慢講
    /// </summary>
    public class EiceController : Controller
    {
        public void Index() {
            ViewData["ViewData"] = "在這裡顯示ViewData";
            TempData["TempData"] = "在這裡顯示TempData";
            RenderView("Index");
        }
        public void Index2() {
            RenderView("Index");
        }
    }
}

我們將Index的參數移除,並提供了ViewData和TempData的賦值
在Views/Eice/Index.aspx這個View中我們寫以下代碼1:<%=ViewData["ViewData"]%><br />
2:<%=TempData["TempData"]%>

注意上面的1.2不是行號...

接下來我們運行工程
訪問http://localhost/Eice/Index
可以看到運行得到以下

1.在這裡顯示ViewData
2.在這裡顯示TempData

再訪問http://localhost/Eice/Index2
顯示結果為1.
2.在這裡顯示TempData

這裡1顯示是的ViewData中的內容,2為TempData傳遞的內容
我們可以看到
ViewData只能在本Action中有效
但是TempData可以類似於Session一樣到其它頁面仍然存在,但只限一頁的訪問(類似於Monorail中的Flash)
TempData一般用於臨時的緩衝內容或拋出錯誤頁面時傳遞錯誤資訊
Redirect方法跳轉頁面到其它的Controller/Action

RedirectToAction(Action名);
RedirectToAction(Action名, Controller名);
RedirectToAction(RouteValueDictionary);

在這裡前兩種都沒有什麼好說的RedirectToAction("About","Home");就是一種寫法
主要是第三種重載
使用者可以這樣寫

            System.Web.Routing.RouteData routeData = new System.Web.Routing.RouteData();
            routeData.Values.Add("Action", "About");
            routeData.Values.Add("Controller", "Home");
            RedirectToAction(routeData.Values);

這樣就可以完成頁面跳轉
當然,也可以使用傳統的Response.Redirect來完成頁面的跳轉

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.