使用自定义帮助程序对象扩展Viewpage类?

1 asp.net-mvc

是否可以向ViewPage类添加自定义帮助器对象,因此我可以在视图页面标记中使用它(就像Html,Url和Ajax一样)?此辅助对象还需要来自自定义控制器的一些数据.(应该可以通过我认为的ViewContext属性)

eu-*_*-ne 5

创建新类,从System.Web.Mvc.ViewPage派生它,为自定义助手添加新属性并覆盖InitHelpers()方法.例如:

public class CustomViewPage : System.Web.Mvc.ViewPage
{
    public YourCustomHelper CustomHelper
    {
        get;
        set;
    }

    public virtual void InitHelpers()
    {
        CustomHelper = new YourCustomHelper(ViewContext);

        base.InitHelpers();
    }
}


public class YourCustomHelper
{
    public YourCustomHelper(ViewContext viewContext)
    {
        if (viewContext == null) {
            throw new ArgumentNullException("viewContext");
        }

        ViewContext = viewContext;
    }

    public ViewContext ViewContext
    {
        get;
        private set;
    }
}
Run Code Online (Sandbox Code Playgroud)