在mvc视图中注册自定义webcontrol?

时间:2009-01-05 13:23:02

标签: asp.net-mvc webforms migration

我正处于一个项目的中间,我正在将一些网站的代码从WebForms迁移到MVC - 不幸的是,没有足够的时间一次完成所有这些,所以我将不得不做一些......不那么漂亮的解决方案。

我遇到了一个自定义控件的问题,我写的是继承自标准的GridView控件

namespace Controls {
    public class MyGridView : GridView { ... }
}

我像往常一样添加到web.config文件中:

<configuration>
...
   <system.web>
   ...
      <pages>
      ...
         <controls>
         ...
         <add tagPrefix="Xui" namespace="Controls"/>
         </controls>
      </pages>
   </system.web>
</configuration>

然后在MVC视图上:

<Xui:MyGridView ID="GridView1" runat="server" ...>...</Xui:MyGgridView>

但是我收到一个解析器错误,指出无法找到控件。我怀疑这与MVC和WebForms的混合有关,但我认为这样的混合应该是可能的,是否有任何类型的调整?我意识到这个解决方案远非理想,但是没有时间“做正确的事”。

谢谢


修改
我忘了补充一点,我已经尝试过使用它,结果相同。

另外,我不幸地需要在几个页面上使用它,所以将它添加到web.config将是理想的解决方案,但是如果有一个解决方案只适用于单个页面,那么这将是可接受的好。

1 个答案:

答案 0 :(得分:0)

你不能使用&lt;%@ Register%&gt;指令直接在视图中?为什么在web.config中,如果它不会在整个应用程序中使用?我不确定它是否会起作用,因为我没有花太多时间在ASP.NET MVC上,但你可以试试。