我需要从类ControllerContext获取我的viewmodel。我需要阅读viewmodel ControllerContext的一些内容。我怎么能这样做?
using System;
using System.Web;
using System.Web.Routing;
using System.Web.WebPages;
namespace System.Web.Mvc
{
// Summary:
// Encapsulates information about an HTTP request that matches specified System.Web.Routing.RouteBase
// and System.Web.Mvc.ControllerBase instances.
public class ControllerContext
{
// Summary:
// Initializes a new instance of the System.Web.Mvc.ControllerContext class.
public ControllerContext();
//
// Summary:
// Initializes a new instance of the System.Web.Mvc.ControllerContext class
// by using the specified controller context.
//
// Parameters:
// controllerContext:
// The controller context.
//
// Exceptions:
// System.ArgumentNullException:
// The controllerContext parameter is null.
protected ControllerContext(ControllerContext controllerContext);
//
// Summary:
// Initializes a new instance of the System.Web.Mvc.ControllerContext class
// by using the specified request context and controller.
//
// Parameters:
// requestContext:
// The request context.
//
// controller:
// The controller.
//
// Exceptions:
// System.ArgumentNullException:
// One or both parameters are null.
public ControllerContext(RequestContext requestContext, ControllerBase controller);
//
// Summary:
// Initializes a new instance of the System.Web.Mvc.ControllerContext class
// by using the specified HTTP context, URL route data, and controller.
//
// Parameters:
// httpContext:
// The HTTP context.
//
// routeData:
// The route data.
//
// controller:
// The controller.
public ControllerContext(HttpContextBase httpContext, RouteData routeData, ControllerBase controller);
// Summary:
// Gets or sets the controller.
//
// Returns:
// The controller.
public virtual ControllerBase Controller { get; set; }
//
// Summary:
// Gets the display mode.
//
// Returns:
// The display mode.
public IDisplayMode DisplayMode { get; set; }
//
// Summary:
// Gets or sets the HTTP context.
//
// Returns:
// The HTTP context.
public virtual HttpContextBase HttpContext { get; set; }
//
// Summary:
// Gets a value that indicates whether the associated action method is a child
// action.
//
// Returns:
// true if the associated action method is a child action; otherwise, false.
public virtual bool IsChildAction { get; }
//
// Summary:
// Gets an object that contains the view context information for the parent
// action method.
//
// Returns:
// An object that contains the view context information for the parent action
// method.
public ViewContext ParentActionViewContext { get; }
//
// Summary:
// Gets or sets the request context.
//
// Returns:
// The request context.
public RequestContext RequestContext { get; set; }
//
// Summary:
// Gets or sets the URL route data.
//
// Returns:
// The URL route data.
public virtual RouteData RouteData { get; set; }
}
}
答案 0 :(得分:2)
尝试:
ControllerContext.Controller.ViewData.Model
目前还不清楚您何时需要从上下文中获取该数据,但您必须意识到返回ViewModel
的{{1}}仅在{{1}之后可用} {event(同样在View
上的方法)。
答案 1 :(得分:0)
假设我理解了这个问题,您可以使用点表示法访问ControllerContext
的属性:
ControllerContext.<PropertyName>