我想在另一个UserControl中注册一个UserControl,但我有一些错误,如:
控制'4_txtCount'的类型 必须放置'NumbericTextBox' 在runat = server。的表单标记内。
说明:未处理的异常 在执行期间发生 当前的网络请求。请查看 堆栈跟踪以获取更多信息 错误及其来源 代码。
例外详情: System.Web.HttpException:Control “NumbericTextBox”类型的“4_txtCount” 必须放在表格标签内 RUNAT =服务器
当我在UserControl中添加标签的服务器端时,我从未收到错误消息。
请注意,我已经在我的视图中添加了服务器端表单标记...
如何在UserControl中添加服务器端表单标签的情况下在另一个UserControl中注册和使用UserControl?
谢谢,Afshin
答案 0 :(得分:2)
通过“UserControl”我假设您指的是部分视图。您在Partial View中使用的控件之一是ASP.NET Web窗体控件。您不能使用需要回发的控件。没有MVC视图应该需要表单runat = server标记。如果您尝试使用的控件不是为在MVC环境中使用而设计的,请考虑专门为该页面使用WebForm Routing(System.Web.Routing)创建路径:
http://msdn.microsoft.com/en-us/library/cc668202(v=vs.90).aspx
您可以修改RouteHandler构造函数以接受使用必要数据填充的对象。 ViewData字典在此上下文中不可用。
答案 1 :(得分:1)
您不需要用户控件中的form
标记。
只需确保放置用户控件的结果页面在用户控件周围有一个form
标记。
form
标记可以放在ASPX页面或ASPX页面的母版页上。