首页 新闻 搜索 专区 学院

关于自己写的ASP.NET MVC控件找不到视图的问题

0
悬赏园豆:10 [待解决问题]

我先简单描述一下,我的一个ASP.NET MVC中用到了我自己编写的一个控件,而这个控件的代码是在一个独立的dll中,我们先来看看在web项目中的调用代码:

 @(Html.Common().Pagination()
                       .SetActionName("Home").SetControllerName("Channel")
                       .SetTotalRecord(totalRecord).SetPageSize(10)
                       .SetPaginationLarge("pagination-large").SetPaginationCentered("pagination-centered")
                       .SetParamDics(paramDic)
                       .Render())

再来看看,这个控件在dll中是怎么输出的:

textWriter.Write(HtmlHelper.Partial("MVC.Controls.CommonControls.Pagination.Views.Pagination", viewData));

其中viewData的值就是在上面HTML代码中设置的属性值

重要的一点是这个控件的页面Pagination.cshtml在这个dll中的设置是签入的资源

我运行代码,通过调试我自己重写的视图引擎,在如下位置,报找不到这个视图:

我该怎么做呢?

何塞穆里尼奥的主页 何塞穆里尼奥 | 初学一级 | 园豆:129
提问于:2014-09-25 14:22
< >
分享
所有回答(1)
0

我觉得在控件中,不应该使用HtmlHelper.Partial这个方法。直接利用Razor处理为字符串,传递呢?

幻天芒 | 园豆:36781 (高人七级) | 2014-09-25 14:48

直接去查找页面方便吧,记得以前在公司的时候是这么做的,但不知为什么不行了。还有你说的 Razor处理为字符串 能给点提示吗  貌似要麻烦一些吧

支持(0) 反对(0) 何塞穆里尼奥 | 园豆:129 (初学一级) | 2014-09-25 15:08

@何塞穆里尼奥: 可是你这个虚拟路径是不存在的呀。用Razor生成字符串确实也挺麻烦的,需要借助独立的Razor库。

支持(0) 反对(0) 幻天芒 | 园豆:36781 (高人七级) | 2014-09-25 15:16

@幻天芒: 所以将页面设成 嵌入的资源 这个很重要  貌似这样就从嵌入的资源中找了 而不是从虚拟路径中找  应该是可以的

支持(0) 反对(0) 何塞穆里尼奥 | 园豆:129 (初学一级) | 2014-09-25 15:19

@何塞穆里尼奥: 但是现在还是从虚拟路径找的,所以才出现错误呀~

支持(0) 反对(0) 幻天芒 | 园豆:36781 (高人七级) | 2014-09-25 20:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册