【问题标题】:ASP.NET Usercontrol Property value does not run <%= markupASP.NET 用户控件属性值未运行 <%= 标记
【发布时间】:2011-04-27 10:54:26
【问题描述】:

我有一个带有属性“ClientScript”的用户控件,在我使用用户控件的 aspx 文件中,我将值设置为=document.getElementsByName('&lt;%=ReportViewer1.ClientId %&gt;$ctl01$ctl07$ctl00$ctl00$ctl00')[0].click(); return false;

这里的问题是,它被随意传递给属性,而不是首先解析并被 ClientID 替换。..

我将相同的客户端脚本应用于按钮 OnClientClick 并且它在那里工作...

我必须对属性应用某种属性才能使其正常工作吗?

这是我的代码:

用户控件.ascx.vb

<ParseChildren(True), PersistChildren(False), Themeable(False)>
Public Class CommandPanel
    Inherits System.Web.UI.UserControl

    Private mClientScript as string
    <Themeable(False), DefaultValue("")> _
    Public Property ClientScript As String
        Get
            Return mClientScript
        End Get
        Set(ByVal value As String)
            mClientScript = value
        End Set
    End Property
End Class

页面.aspx

<%@ Register src="UserControls/CommandPanel.ascx" tagname="CommandPanel" tagprefix="uc1" %>
......
<uc1:CommandPanel ID="CommandPanel1" runat="server" ClientScript="document.getElementsByName('<%= ReportViewer1.ClientId %>$ctl01$ctl07$ctl00$ctl00$ctl00')[0].click(); return false;" />
......

注意:我知道我保存到一个局部变量,并且它将在重新加载等时被清除,但这不是这里的问题......

【问题讨论】:

标签: asp.net vb.net user-controls


【解决方案1】:

Attributes 属性。

【讨论】:

  • 不能在服务器端控件中使用是什么意思?如果您理解我的意思,它没有在用户控件中使用它在用户控件中使用的地方使用?是什么让我的用户控件与阻碍我使用 的按钮不同
  • 阅读blogs.msdn.com/b/dancre/archive/2007/02/13/…kbalertz.com/976112/…。找不到相关的 MSDN 文档。
  • 感谢那些阅读错误的链接,但我不明白它适用于
  • 谢谢,现在我想我明白了,至少
  • 我认为这是因为它们的基类不同。 Button 继承自 WebControl,但用户控件派生自,嗯....UserControl 类。
猜你喜欢
  • 2012-10-09
  • 1970-01-01
  • 2011-02-20
  • 1970-01-01
  • 1970-01-01
  • 2021-11-09
  • 1970-01-01
  • 2014-04-07
  • 1970-01-01
相关资源
最近更新 更多