【发布时间】:2011-07-14 16:31:54
【问题描述】:
在后面的代码中创建一个动态按钮:
Dim b As Button = New Button()
b.Text = "Some Dynamic Text Here"
b.PostBackUrl = "some_page.asx"
我希望能够在 aspx 页面上的特定位置呈现它。
在aspx页面,我想做的:
<td>
<%
If (specific condition) Then
'render that specific button here <---------
Else
'render something else
End If
%>
</td>
1 - 我知道能够做一个
Page.Form.Controls.Add(dynamic button here)
但我无法将其添加到页面上的特定位置(即使使用 CSS 也不行,因为按钮将进入表格 - 表格有一列数字,如果非零,按钮将显示跨页回发显示向下钻取的项目)
【问题讨论】:
-
一般来说,使用动态控件会变得很棘手,并且 Viewstate 会成为一个大问题。我强烈建议使用
Visible属性隐藏/显示控件,即使您将它们分组到另一个控件中,例如asp:Panel。 -
但是如何动态设置正在创建的静态按钮的文本?
-
使用
asp:Button或asp:LinkButton,myButton.Text = "blahblah";,就像您在上面所做的那样。 -
对,但是如何引用正在创建的特定按钮?在 aspx 页面中,done