为什么我的 aspx 设计器文件错误地引用了用户控件?

放置和

我有以下用户控件(现在,更多将在同一个命名空间中)

Ortund.Project.UserControls.FooControl
Ortund.Project.UserControls.BarControl

我在我的 web.config 中正确引用了这些(我知道我已经让这些控件在页面上正常工作)。

<pages>
    <controls>
        <add tagPrefix="ortund" tagName="Foo" src="~/UserControls/FooControl.ascx" />
        <add tagPrefix="ortund" tagName="Bar" src="~/UserControls/BarControl.ascx" />
    </controls>
</pages>

这允许我在标记中使用控件,如下所示:

<div>
    <ortund:Foo runat="server" ID="oFoo" />
    <ortund:Bar runat="server" ID="oBar" />
</div>

至少,如果页面的设计器文件在上述命名空间中正确引用了它们。

相反,我在我的设计器文件中找到的是这样的:

    /// <summary>
    /// oFoo control.
    /// </summary>
    /// <remarks>
    /// Auto-generated field.
    /// To modify move field declaration from designer file to code-behind file.
    /// </remarks>
    protected global::System.Web.UI.UserControl oFoo;

    /// <summary>
    /// oBar control.
    /// </summary>
    /// <remarks>
    /// Auto-generated field.
    /// To modify move field declaration from designer file to code-behind file.
    /// </remarks>
    protected global::System.Web.UI.UserControl oBar;

现在,我可以进入并更改它,但由于文件是自动生成的,它往往会无缘无故地再次更改回来。因此,我无法访问用户控件中可能拥有的任何公共字段,这是功能的主要问题。

那么为什么我的设计师文件如此明目张胆,如此愚蠢地错误,我该如何解决呢?

根据我对UserControl行为不端的经验,通常是因为您的控件的命名空间有些“奇怪”,或者存在 Visual Studio 无法解决的继承层次结构,或者,您正在执行某些操作web.config这低于应用程序级别(尽管这通常会导致命名空间的某些部分被切断并且 .designer.cs 拒绝编译)。

我刚刚创建了您上面案例的“简单”复制​​品,设计师将声明正确地为:

protected global::Ortund.Project.UserControls.FooControl oFoo;

一种选择是对声明上方的注释采取行动(“修改将字段声明从设计器文件移动到代码隐藏文件。”)并将声明从 .designer.cs 文件移动到 .cs 文件中。可能会阻止设计者重新生成不正确的声明,尽管它已经这样做的事实可能意味着有足够的错误,尽管您尽了最大努力,它仍会继续这样做。

有关您的解决方案/项目结构以及用户控件和页面的继承层次结构(如果有)的更多信息可能有助于缩小范围!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我不能在aspx.cs文件中使用c#类?

来自分类Dev

为什么无法从 aspx 文件调试模式到 javascript 函数

来自分类Dev

我如何在aspx文件下看到aspx.vb和aspx.designer.vb?

来自分类Dev

我的用户控件如何从我的 aspx 页面获取信息

来自分类Dev

什么是ew:aspx中的CalendarPopup控件

来自分类Dev

<%#在aspx文件中是什么意思

来自分类Dev

为什么不能从内联ASPX代码块添加控件页面的页眉?

来自分类Dev

为什么不能从内联ASPX代码块添加控件页面的页眉?

来自分类Dev

ASPX似乎无法在文件后面找到我的代码?

来自分类Dev

我可以在aspx文件中使用Page_Load吗?

来自分类Dev

我可以在aspx文件中使用Page_Load吗?

来自分类Dev

可以在我的 .aspx 文件中多次使用 <asp:SqlDataSource> 吗?

来自分类Dev

在ASPX页面中使用ASPX用户控件的多个实例

来自分类Dev

在aspx页面中使用aspx用户控件的多个实例

来自分类Dev

如何编辑.aspx文件?

来自分类Dev

asp.net中的“取消”按钮引用了aspx文件

来自分类Dev

为什么我遇到错误?

来自分类Dev

aspx文件中的Runat错误

来自分类Dev

为什么我的.Net 4.6.2控制台应用程序错误地引用了.net核心类库项目?

来自分类Dev

为什么Git错误地指出我的文件是最新的?

来自分类Dev

为什么我的.format错误?JAVA文件

来自分类Dev

为什么Default.aspx关联的类称为_Default?

来自分类Dev

为什么Default.aspx关联的类称为_Default?

来自分类Dev

.aspx页的控件无法在.aspx.cs页中访问

来自分类Dev

为什么我的脚本标记未引用我的.js文件?

来自分类Dev

使用户无法浏览aspx

来自分类Dev

我有一个aspx(vb)网站。当我尝试删除.vb文件(在那里保留.aspx文件)时,总是会出现HttpParseException?

来自分类Dev

从jQuery错误绑定到aspx

来自分类Dev

从aspx呼叫控制器

Related 相关文章

  1. 1

    为什么我不能在aspx.cs文件中使用c#类?

  2. 2

    为什么无法从 aspx 文件调试模式到 javascript 函数

  3. 3

    我如何在aspx文件下看到aspx.vb和aspx.designer.vb?

  4. 4

    我的用户控件如何从我的 aspx 页面获取信息

  5. 5

    什么是ew:aspx中的CalendarPopup控件

  6. 6

    <%#在aspx文件中是什么意思

  7. 7

    为什么不能从内联ASPX代码块添加控件页面的页眉?

  8. 8

    为什么不能从内联ASPX代码块添加控件页面的页眉?

  9. 9

    ASPX似乎无法在文件后面找到我的代码?

  10. 10

    我可以在aspx文件中使用Page_Load吗?

  11. 11

    我可以在aspx文件中使用Page_Load吗?

  12. 12

    可以在我的 .aspx 文件中多次使用 <asp:SqlDataSource> 吗?

  13. 13

    在ASPX页面中使用ASPX用户控件的多个实例

  14. 14

    在aspx页面中使用aspx用户控件的多个实例

  15. 15

    如何编辑.aspx文件?

  16. 16

    asp.net中的“取消”按钮引用了aspx文件

  17. 17

    为什么我遇到错误?

  18. 18

    aspx文件中的Runat错误

  19. 19

    为什么我的.Net 4.6.2控制台应用程序错误地引用了.net核心类库项目?

  20. 20

    为什么Git错误地指出我的文件是最新的?

  21. 21

    为什么我的.format错误?JAVA文件

  22. 22

    为什么Default.aspx关联的类称为_Default?

  23. 23

    为什么Default.aspx关联的类称为_Default?

  24. 24

    .aspx页的控件无法在.aspx.cs页中访问

  25. 25

    为什么我的脚本标记未引用我的.js文件?

  26. 26

    使用户无法浏览aspx

  27. 27

    我有一个aspx(vb)网站。当我尝试删除.vb文件(在那里保留.aspx文件)时,总是会出现HttpParseException?

  28. 28

    从jQuery错误绑定到aspx

  29. 29

    从aspx呼叫控制器

热门标签

归档