[英]Pass viewbag to partial view from action controller
我有一個部分視圖的mvc視圖。控制器中有一個ActionResult方法,它將返回一個PartialView。 所以,我需要將ViewRag數據從ActionResult方法傳遞給Partial View。
這是我的控制器
public class PropertyController : BaseController
{
public ActionResult Index()
{
return View();
}
public ActionResult Step1()
{
ViewBag.Hello = "Hello";
return PartialView();
}
}
在Index.cshtml視圖中
@Html.Partial("Step1")
Step1.cshtml局部視圖
@ViewBag.Hello
但這不起作用。 那么,從viewbag獲取數據的正確方法是什么。 我想我正在遵循錯誤的方法。 請指導我。
你可以按照下面的說法使用它:
在您的視圖中:
@Html.Partial("[ViewName]", (string)ViewBag.Message)
而你的部分觀點:
@model String
<b>@Model</b>
如上所示,ViewBag.Message將傳遞給局部視圖。 在局部視圖中,您可以將其用作@Model 。
注意:這里ViewBag.Message的類型是字符串 。 你可以傳遞任何類型。
如果您不必使用ViewBag,則可以使用TempData。 TempData是整個執行鏈共享的。
public class PropertyController : BaseController
{
public ActionResult Index()
{
return View();
}
public ActionResult Step1()
{
TempData["Hello"] = "Hello";
return PartialView();
}
}
在Index.cshtml視圖中
@Html.Partial("Step1")
Step1.cshtml局部視圖
@TempData["Hello"]
老問題,但如果有人在這里找到這個問題的解決方案..
您可以使用viewdatadictionary將viewbag值傳遞給partial。
在你看來:
@Html.Partial("_Partial", "", new ViewDataDictionary { { "permalink", ViewBag.Permalink } })
在部分視圖中使用它像這樣:
ViewData["permalink"]
您可以嘗試此操作,以便將ViewBag傳遞給操作中的部分視圖:
你的控制器:
public class PropertyController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Step1()
{
ViewBag.Hello = "Hello";
return PartialView("_Partial1", ViewBag.Hello);
}
}
你的觀點(Index.cshtml):
@Html.Action("Step1")
您的部分視圖(_Partial1.cshtml):
@ViewBag.Hello
return PartialView("partialviewname", obj);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.