我在使用Asp.net 软1和我真的很喜欢我的控制器行动使用StronglyTyped视(数据)要求强制执行的类型检查在编制时间,仍然让我用aspx页下默认的引擎。该ViewPages我打电话是强类型,但是错误的行动呼吁图(数据)不能被抓到在编制时间,因为内控制器视(数据)的方法并不是强类型和甚至没有查看的网页存在编制时间。

我已经实现了部分解决方案(代号下)的使用 这个职位 但是(1)我不能获得的一般观功能的认识种类型的强大查看网页,除非我创建一个码后面的强类型来看,和(2)智能感知和重构不能正常工作,与这方法让我怀疑的可靠性的方法我是使用。

问题: 是否有更好的方式获得的类型的执法当调景的行动?

备选案文: 是否有替代方法在那里我的操作方法可以创建的一个实例viewpage,设定一些属性直接然后呈现出其HTML的行动的反应?

代码: 这里的基类我所有的控制器的继承,以实现我们迄今为止:

 public class StrongController : Controller 
    {

        protected ActionResult View<TView, TModel>(TModel model)
            where TView : ViewPage<TModel>
            where TModel : class
        {
            return View(typeof(TView).Name, model);
        }


    }

和这里的一个例子控制器的使用: namespace ExampleMVCApp.控制器 {

    public class HomeController : StrongController 
    {

        public ActionResult Index()
        {
            return View<ExampleMVCApp.Views.Home.Index, ExampleData>(new ExampleData());
        }


    }
}

ViewPage码后面的需要类型识别...Aspx头没有工作

namespace ExampleMVCApp.Views.Home
{
    public class Issue : System.Web.Mvc.ViewPage<ExampleData>
    {
    }

}
有帮助吗?

解决方案

我认为你应该得到的 T4MVC的助手 旋(一个原始公告 在这里,).这至少会使你摆脱码您已经有,因为这些模板产生的代码基于风景你已经和你雇用这些"假"的方法调解决你们的意见。

有你的电话到 View 被强类型的具体模式宣布通过你看,我不确定如果这些助手帮助你的(虽然我怀疑他们做)。但是,如果他们没有你仍然可以破解T4MVC码做到使自己或者取得联系的原始作者, 大卫Ebbo, 建议的功能之外。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top