【MVC】MVC中頁面傳值的幾種方式總結
原來寫程式碼的時候都是別人寫就照著寫,大部分都是返回json,使用js,但是對於其他的傳值方式用的少之又少,特別是當不使用easyUI的時候對它更是感覺到生疏,今天就對它的幾種傳值方式進行一下總結。
一、Controller-->View
1.ViewData
使用ViewData是採用鍵值對的形式,通過key值讀取對應的value;ViewData只對當前Action有效。在View中會自動識別到擁有唯一鍵值的ViewData,並將資料顯示出來。
控制器中程式碼:
檢視中接收:<span style="font-family:KaiTi_GB2312;font-size:18px;">public ActionResult(string Type) { DataSet ds = BigNumberBLL.QueryMessage(Type); ViewData['ds']=ds; return View(); }</span>
<span style="font-family:KaiTi_GB2312;font-size:18px;">@using System.Data; @Model DataSet <table class="Table"> <thead> <tr> </span><td>名稱</td> </span><td>集中數</td> </span><td>權重下限</td> </span><td>異常數</td> </tr> <thead> <tbody> @if(Model !=null && Model.Tables.Count >0) <span style="white-space:pre"> </span>{ <span style="white-space:pre"> </span>foreach(DataRow dr in Model.Tables["dta"].Rows) <span style="white-space:pre"> </span>{ <span style="white-space:pre"> </span><tr> <span style="white-space:pre"> </span><td>@(dr["GROUP_NAME"]) </td> <span style="white-space:pre"> </span><td>@(dr["SUM_WEIGHT_VALUE"])</td> <span style="white-space:pre"> </span><td>@(dr["SUM_COLLECT_VALUE"])</td> <span style="white-space:pre"> </span><td>@(dr["Count"]) </td> <span style="white-space:pre"> </span></tr> <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>} </tbody> </table></span>
2、ViewBag
允許自定義屬性進行賦值,ViewBag.屬性=屬性值得方式進行傳值,其實這裡跟ViewData的使用原理類似。利用HtmlHelper建立TextBox時,使用名稱與ViewBag中的一致, 就會自動實現值繫結
控制器中程式碼:
檢視中程式碼:<span style="font-family:KaiTi_GB2312;font-size:18px;">public ActionResult Index() { ViewBag.name = "韋文文"; ViewBag.EnglishName = "Vivian"; return View(); } </span>
<span style="font-family:KaiTi_GB2312;font-size:18px;"><pre name="code" class="html" style="line-height: 30px;"><div>
@Html.TextBox("name")
@ViewBag.EnglishName
</div> </span>
二、Action-->Action
前面兩種傳值方式都是在view和Controller之間進行資料傳遞,那麼如果某一個業務需要用到後臺的兩個Action,並且需要再這兩個Action之間進行資料傳遞,這時需要用到另一個概念TempData:獲取要傳遞到檢視的臨時資料.使用時,需要注意TempData的生命週期,只在第一次請求Action時臨時資料存在,之後自動變為NULL,具體的使用與ViewData相同,屬於鍵值對的資料字典類。
TempData
使用TempData和使用ViewData方法是一樣的,不同的是它可用於在不同的Action之間傳值。
<span style="font-family:KaiTi_GB2312;font-size:18px;">public class MVCController : Controller
{
public ActionResult Index1()
{
TempData["name"] = "韋文文";
return View();
}
public ActionResult Index2()
{
string strName = TempData["name"].ToString()
return View();
} </span>
小結:
mvc的這幾種傳值方式應該都寫過,不過總體不是很熟悉,從一開始的學習到現在寫程式碼,不斷熟練應用,越來越清晰,真的是一個不斷反覆的過程。
相關推薦
swift詳解之二十二-----------UINavigationController的基本用法和頁面傳值幾種方式
UINavigationController的基本用法和頁面傳值幾種方式 本文介紹UINavigationController基本用法,因為涉及多頁面順便介紹頁面傳值 1、手寫程式碼建立UINavigationController 手寫方式建立很簡
【資料庫】Mysql中主鍵的幾種表設計組合的實際應用效果
寫在前面 前前後後忙忙碌碌,度過了新工作的三個月。部落格許久未新,似乎對忙碌沒有一點點防備。總結下來三個月不斷的磨礪自己,努力從獨樂樂轉變到眾樂樂,體會到不一樣的是,連辦公室的新玩意都能引起莫名的興趣了,作為一隻忙碌的 “猿” 倒不知正常與否。 咳咳, 正題, 今天要寫一篇
【轉】Java中建立物件的5種方式
作為Java開發者,我們每天建立很多物件,但我們通常使用依賴管理系統,比如Spring去建立物件。然而這裡有很多建立物件的方法,我們會在這篇文章中學到。 Java中有5種建立物件的方式: 使用new關鍵字 這是最常見也是最簡單的建立物件的方式了。通
【SVN】【Eclipse】Eclipse安裝SVN外掛的幾種方式
Eclipse安裝SVN外掛的幾種方式 第一種:線上安裝,簡單方便 在Eclipse,【Help】【Install New Software】,點選【Add】輸入名稱以及svn外掛地址。 *注,這種方式可以離線安裝,將svn外掛zip包下載後,路徑選項選擇本地zip檔案
【JavaEE】讀取配置檔案路徑的幾種方式
讀取配置檔案的各種方式 1.類載入器讀取: 只能讀取classes或者類路徑中的任意資源,但是不適合讀取特別大的資源。 ①獲取類載入器 ClassLoader cl = 類名.class.getClassLoader(); ②呼叫類載入器物件的方法:
頁面傳值得幾種方式
一、 使用QueryString變數 QueryString是一種非常簡單也是使用比較多的一種傳值方式,但是它將傳遞的值顯示在瀏覽器的位址列中,如果是傳遞一個或多個安全性要求不高或是結構簡單的數值時,可以使用這個方法。 Response.Redirect( "target.a
Spring Boot獲取前端頁面引數的幾種方式總結
Spring Boot的一個好處就是通過註解可以輕鬆獲取前端頁面的引數,之後可以將引數經過一系列處理傳送到後臺資料庫,前段時間正好用到,但是忘得差不多了,獲得的方式有很多種,這種東西不寫下來一段時間不用就忘得差不多了,感覺記性越來越差了呢,這裡稍微總結一下,
【MVC】MVC中頁面傳值的幾種方式總結
原來寫程式碼的時候都是別人寫就照著寫,大部分都是返回json,使用js,但是對於其他的傳值方式用的少之又少,特別是當不使用easyUI的時候對它更是感覺到生疏,今天就對它的幾種傳值方式進行一下
【2017-05-21】WebForm跨頁面傳值取值、C#服務端跳轉頁面、 Button的OnClientClick屬性、Js中getAttribute和超鏈接點擊彈出警示框。
代碼 height delet update size 內存 客戶 bar win 一、跨頁面傳值和取值: 1、QueryString - url傳值,地址傳值 優缺點:不占用服務器內存;保密性差,傳遞長度有限。 通過跳轉頁面路徑進行傳值,方式: href="地址?ke
【MVC】action向view傳值
鍵值對 pub lsa ret 類型 dex mode 返回值 models 後臺的數據怎麽傳到view上呢?有四種方式可以實現,但其實也可以說是只有一種。 1.ViewBag 2、ViewData 3、TempData 4、model ① controller裏面的代
MVC中頁面傳值的幾種方式總結
之前做專案的時候,只知道MVC頁面間傳值有三種方式,分別為:ViewBag、ViewData、TempData,也知道如何使用它,但是並不知道三者之前的區別,這裡強調一點,TempData可以用於Action與Action之間的傳值,而ViewBag和ViewDa
Asp.Net頁面傳值的方法簡單總結【原創】
tid 周期 () 路徑 coo webp 方式 qpi 優點 1、QueryString 當頁面上form按照get的方式向頁面發送請求數據的時候,web server會將請求數據放入 一個QEURY_STRING的環境變量中,然後通過QeueryString方法
Spring MVC 從 Controller向頁面傳值的方式
用戶 () 傳參數 control let att model enter 設定 Spring MVC 從 Controller向頁面傳值的方式 在實際開發中,Controller取得數據(可以在Controller中處理,當然也可以來源於業務邏輯層),傳給頁面,常用的方
Spring MVC controller和jsp頁面傳值
頁面封裝好Map結構後,頁面使用${} 就可以獲取到數值 Controller @Controller @RequestMapping("/index.do") public class IndexController { @RequestMapping(par
zhlan--【偷】Python中的賦值運算符
運算 alt ges 比較 images pytho 比較運算符 賦值 技術分享 >>>>Python中的賦值運算符: >>>>Python中的比較運算符: zhlan--【偷】Python中的賦值運算符
ASP.Net中頁面傳值的幾種方式
webconfig local 區別 重啟 Nid 傳遞對象 app too BE 大致概括一下,ASP.NET 頁面之間傳遞值得方式大致可以分為如下幾種:Request.QueryString["name"],Request.Form("name"),Session,Co
【CSS3】CSS3中的Rem值與Px之間的換算
bootstrap預設 html{font-size: 10px;} rem是一個相對大小的值,它相對於根元素, 比如假設,我們設定html的字型大小的值為html{font-size: 87.5%;}(也就是14px)。 然後其他的字型就是將你要的值除以
【swift_4】swift之代理傳值(delegate的用法)
2017.03.16更新簡潔版 protocol ChildDelegate:class{ func childDidSomething()} classChild{ weak va
【轉載】JAVA中IO流操作的基本規律總結
reader 對象 作文 若是 gpo 是否 目的 io流 基本 流操作的基本規律:三個明確 1.明確源和目的; 源:輸入流即讀取流 InputStream,Reader 目的:輸出流即寫入流 OutputStream, Writer 2.明確操作的數據是
【數據庫】Mysql中主鍵的幾種表設計組合的實際應用效果
研究 開始時間 action 設計 int rand 業務主鍵 primary 同時 寫在前面 前前後後忙忙碌碌,度過了新工作的三個月。博客許久未新,似乎對忙碌沒有一點點防備。總結下來三個月不斷的磨礪自己,努力從獨樂樂轉變到眾樂樂,體會到不一樣的是,連辦公