我有两个ASP.NET MVC控制器操作,如下所示,并希望RenderComponent
显示RenderComponentPublic
的内容而不调用RedirectToAction
。
相反,我希望在RenderComponent
下显示内容,并且不会发生重定向。
有人可以建议一种方法来实现这个目标吗?
控制器操作1 - RenderComponent
[Authorize(Roles = "user")]
public ActionResult RenderComponent(
string ckey,
string ukey)
{
return RedirectToAction("RenderComponentPublic", new
{
ckey,
ukey
});
}
控制器操作2 - RenderComponentPublic
public ActionResult RenderComponentPublic(
string ckey,
string ukey)
{
return PartialView("_ThisContent");
}
答案 0 :(得分:4)
您始终可以在C#中调用其他操作。
[Authorize(Roles = "user")]
public ActionResult RenderComponent(
string ckey,
string ukey)
{
return RenderComponentPublic(ckey,ukey);
}
答案 1 :(得分:1)
可能符合您需求的一种方法是致电Html.RenderAction
所以在您的RenderComponent
视图中,只需致电;
@(Html.RenderAction("RenderComonentPublic", new { ckey = Model.ckey, ukey = Model.ukey });)
或
@Html.Action("RenderComonentPublic", new { ckey = Model.ckey, ukey = Model.ukey })
您必须将ckey
和ukey
传递到模型中的视图或ViewBag或其他内容。
您的RenderComponentPublic
视图需要将layout
页面设置为null
,才能在布局中呈现。
不确定这是否是您要找的。 p>