UpdatePanel的问题

时间:2013-02-15 15:12:12

标签: asp.net updatepanel

当我在用户控件上拖放UpdatePanel时,我在用户控件的自动生成文件中获取此变量:

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

但是,UpdatePanel位于完全不同的命名空间中:

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

我在我的web.config中的assembly config部分下面有这个配置条目:

  <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

为什么这种行为发生在我身上?

1 个答案:

答案 0 :(得分:3)

1)每次修改ascx文件时,都要将System.Web.UI.WebControls.WebParts.UpdatePanel重置回System.Web.UI.UpdatePanel(对于ScriptManager也是如此)。推荐,但是单调乏味。

2)我发现在ASCX文件顶部使用Register命令似乎正确地覆盖了设计者的默认行为,为3.5控件选择4.0位置(我认为这是潜在的问题,它是一个4.0设计师向后兼容3.5)。推荐,但在使用ASP添加控件时要小心:

<%@ Register TagPrefix="asp" Namespace="System.Web.UI" Assembly="System.Web"%>
...
<asp:ScriptManager runat="server" ID="smLocationsMap" />

3)您可以在bin文件夹中包含system.web.dllsystem.web.design.dll(安全/其他问题)。不推荐。

Blog Link