作者 主題: 請教ASP.NET MVC ViewBag/共用資料的問題  (閱讀 4994 次)

0 會員 與 1 訪客 正在閱讀本文。

redjack

  • 活潑的大學生
  • ***
  • 文章數: 426
    • 檢視個人資料
大家好,小弟正在自修MVC , 目前有一個問題如下:
網站中可能會有部份通用資訊,如網站名稱、版本,就我看到的教學範例與目前做出來的方法如下:
    public class misController : Controller
    {
        //
        // GET: /mis/

        public ActionResult Index()
        {
            ViewBag.Message = "歡迎使用";
            ViewBag.Title = "首頁";
            ViewBag.webSiteName = "MIS 系統";
            ViewBag.webSiteVers = "2.1";

            return View();
        }

        public ActionResult proj()
        {
            ViewBag.Message = "歡迎使用";
            ViewBag.Title = "首頁";
            ViewBag.webSiteName = "MIS 系統";
            ViewBag.webSiteVers = "2.1";

            return View();
        }
    }
以上都能成功出現我想要的東西,不過比方說title, webSiteName, webSiteVers...等東西都是通用且重覆的,我覺得一直key 一樣的東西真的是…
所以我試了一下:
    public class misController : redjack
    {
        redjack ns5 = new redjack();

        public ActionResult Index()
        {
            ViewBag.Message = ns5.webSiteName;
            ViewBag.Title = ns5.pageTitle;
            ViewBag.webSiteName = ns5.webSiteName;
            ViewBag.webSiteVers = ns5.webSiteVers;

            return View();
        }
    }
redjack 是繼承於Controller, 並且其中定義了相關東西。這樣子也可以做出來。
但是我想要做到這樣:
    public class misController : redjack
    {
        public ActionResult Index()
        {
            redjack ns5 = new redjack();
            return View();
        }
    }
連一連串重覆的的ViewBag.xxxx=xxxx 都不要打了。
試過:
redjack ViewBag = new redjack();
結果是.Message, Title 都無法顯示(應該因為讀不到資料吧?雖然我在redjack 裡面有定義了)
想請教一下這方面要怎麼做/往那個方向去著手,或是我該用什麼關鍵字去找資料呢?

謝謝大家
Knowledge is Power

KKBruce

  • 懷疑的國中生
  • **
  • 文章數: 83
  • 性別: 男
    • 檢視個人資料
    • 傳家之寶
Re: 請教ASP.NET MVC ViewBag/共用資料的問題
« 回覆 #1 於: 2012-03-14 18:13 »
整個網站共用的內容,可定義在 web.config 裡的 appSettings 裡,需要時取出即可。
Blog:http://blog.kkbruce.net/

redjack

  • 活潑的大學生
  • ***
  • 文章數: 426
    • 檢視個人資料
Re: 請教ASP.NET MVC ViewBag/共用資料的問題
« 回覆 #2 於: 2012-03-15 12:41 »
嗯,我是想要把一些字串,比方說版本、網站名稱…等的訊息統一放在一個文檔裡。
然後再把這個文檔的權限開放給其他同仁去維護。
如果是用web.config 的話可能會不太合適。
Knowledge is Power

KKBruce

  • 懷疑的國中生
  • **
  • 文章數: 83
  • 性別: 男
    • 檢視個人資料
    • 傳家之寶
Re: 請教ASP.NET MVC ViewBag/共用資料的問題
« 回覆 #3 於: 2012-03-15 12:50 »
http://blog.kkbruce.net/2010/06/webconfig_04.html#.T2F0wNWWWy4

透過外部設定檔,將 appSetting 切出來,然後就可以寫程式(或你說的開權限)去進行維護動作。
Blog:http://blog.kkbruce.net/