【发布时间】:2011-04-27 10:54:26
【问题描述】:
我有一个带有属性“ClientScript”的用户控件,在我使用用户控件的 aspx 文件中,我将值设置为=document.getElementsByName('<%=ReportViewer1.ClientId %>$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