mvcのいくつかのデータ転送
7430 ワード
1、ViewDataオブジェクト
ViewBagDataは、ディクショナリ集合データがビューベースクラスとコントローラベースクラスの両方に属する属性です.
例:
//コントローラ
表示:
2、ダイナミックオブジェクトViewBag
ViewBagはdynamicタイプのオブジェクトで、同僚はビューベースクラスとコントローラベースクラスのプロパティに属します.使用法は次のとおりです.
//コントローラコード
本質的には、ViewBagは、ViewDataデータに対するパッケージであり、つまり、ViewDataを用いてデータを保存し、ViewBagを用いて読み取り、ViewBagを用いて保存したデータを用いてもよいし、ViewDataを用いて読み取り、例えば
ViewData["data"]のデータは、ViewBagを使用する.dataにもアクセスできます.
注意:同じプロジェクトでは、一般的にViewDataとViewBagは1つだけで、コードに同じViewDataとViewBagが同時に現れることはありません.
3、クロスリクエストデータ転送——TempData
TempDataも辞書タイプに属しており、符号化上はViewDataと似ているが、彼は完全に独立したオブジェクトであり、保存されているデータドメインViewdataは互いに干渉しない.
使用法は次のとおりです.
//コントローラ
//ビュー
開発においてTempDataは主に要求にまたがってデータを伝達する
//Detail.aspxビュー
asp.Netmvcシステムでは、TempDataの保存メカニズムは実際には拡張可能であり、デフォルトの保存メカニズムはsessionである.TempDataの保存メカニズムはセッションですが、前回のリクエストに対してTempDataを使用します.
使用しているTempで保存されているデータですが、どのようにTempのデータが使用されているか(ビューから出力される)次のリクエストではデータが取得されず、もう一度リクエストでどのようにTempDataデータが使用されているか、クリアされます
使用されていなければ、彼が保存している時間はSessionの生存期間です.
ViewBagDataは、ディクショナリ集合データがビューベースクラスとコントローラベースクラスの両方に属する属性です.
例:
//コントローラ
public class HomeController:Controller
{
public ActionResult Index()
{
ViewData["data"]="Hello asp.net";
return View();
}
}
表示:
<h1><%=ViewData["data"]%></h1>
2、ダイナミックオブジェクトViewBag
ViewBagはdynamicタイプのオブジェクトで、同僚はビューベースクラスとコントローラベースクラスのプロパティに属します.使用法は次のとおりです.
//コントローラコード
public class HomeController:Controller
{
public ActionResult Index()
{
ViewBag.data="Hello asp.net";
return View();
}
}
<h1><%=ViewBag.data%></h1>
本質的には、ViewBagは、ViewDataデータに対するパッケージであり、つまり、ViewDataを用いてデータを保存し、ViewBagを用いて読み取り、ViewBagを用いて保存したデータを用いてもよいし、ViewDataを用いて読み取り、例えば
ViewData["data"]のデータは、ViewBagを使用する.dataにもアクセスできます.
注意:同じプロジェクトでは、一般的にViewDataとViewBagは1つだけで、コードに同じViewDataとViewBagが同時に現れることはありません.
3、クロスリクエストデータ転送——TempData
TempDataも辞書タイプに属しており、符号化上はViewDataと似ているが、彼は完全に独立したオブジェクトであり、保存されているデータドメインViewdataは互いに干渉しない.
使用法は次のとおりです.
//コントローラ
public class HomeController:Controller
{
public ActionResult Index()
{
TempData["data"]="Hello asp.net";
return View();
}
}
//ビュー
<h1><%=TempData["data"]%></h1>
開発においてTempDataは主に要求にまたがってデータを伝達する
public class HomeController:Controller
{
public ActionResult Index()
{
TempData["data"]=" Index() ";
Response.Redirect("~/Home/Detail");
return View();
}
public ActionResult Detail()
{
return View();
}
}
//Detail.aspxビュー
<h1><%=TempData["data"]%></h1>
asp.Netmvcシステムでは、TempDataの保存メカニズムは実際には拡張可能であり、デフォルトの保存メカニズムはsessionである.TempDataの保存メカニズムはセッションですが、前回のリクエストに対してTempDataを使用します.
使用しているTempで保存されているデータですが、どのようにTempのデータが使用されているか(ビューから出力される)次のリクエストではデータが取得されず、もう一度リクエストでどのようにTempDataデータが使用されているか、クリアされます
使用されていなければ、彼が保存している時間はSessionの生存期間です.