0
public class AController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 
} 

및 색인보기 간다 내가 할 때 Request.Params["HasEditPermission"] 실제 요청이 AControllerIndex에 있기 때문에 부분보기, 내가 널 얻을 ..하지만 난 BControllerIndex 행동을 매개 변수로 HasEditPermission을 포함 할 경우 다음 내가 값을 얻을 ..액세스 아이 액션 매개 변수는

내가 생각 나는 Request.Params에서 그것을 얻고 있지 않다 이 매개 변수를 포함하지 않는 작업입니다.

하지만 BController의 인덱스 작업 HasEditPermission 매개 변수에 값을 바인딩하는 방법이 궁금합니다 (가정 해 봅시다)?

보기에서 누군가 직접 내게 어떻게 액세스 할 수 있습니까? (인덱스에서 ViewBag 사용은 옵션 임)

답변

1

ValueProvider.GetValue("HasEditPermission").RawValue을 사용하여 값에 액세스 할 수 있습니다.

컨트롤러 :

public class BController : Controller 
{ 
    public ActionResult Index() 
    { 
     ViewBag.HasEditPermission = Boolean.Parse(
       ValueProvider.GetValue("HasEditPermission").RawValue.ToString()); 

     return PartialView(); 
    } 
} 

보기 :

... 
@if (ViewBag.HasEditPermission) 
{ 
    // some html rendering 
} 
... 

업데이트 :

Request.Params는 QueryString을, 양식, 쿠키의 결합 된 컬렉션을 가져옵니다, 그리고 역시 ServerVariables 항목이 없습니다 RouteVa 매독.

@Html.Action("Index", "BController", new { HasEditPermission = true }) 

HasEditPermission에서

RouteValue이다.

당신은 또한 ...

+0

을보기뿐만 아니라 이후의 아이 액션 뷰에서이

ViewContext.RouteData.Values["HasEditPermission"] 

뭔가를 시도 할 수 있습니다 나는 자체가 .. 내가 무슨 일이 일어나고 있는지 알고 싶어 내 질문에이 솔루션을 언급 정확하게, 그리고 다른 방법이 있습니까? – dotNETbeginner

+0

제 답변이 다른 방법이라고 생각합니다. 그렇습니까? –

+0

'Request.Params'는 RoutedValues가 아닌 QueryString, Form, Cookies 및 ServerVariables 항목의 결합 된 컬렉션을 가져옵니다. –