我想要什么:
在理想情况下,我将能够创建一个带有oncommand
和commandargument
属性的锚点,但如果我没记错的话,那是行不通的,您必须创建一个控件,例如一个按钮,它将在其中工作。然后我的问题来自想要为页面上的每个项目放置该按钮,因为我需要一些东西来添加控件,但是如果我创建了一个锚点runat="server"
,比如说,id="try"
我不能这样做:try.Controls.Add(button)
因为锚点' try' 实际上还没有被创建。
背景:
大多数内容都是以编程方式添加的。stringbuilder 用于创建将在页面上显示的 html 的字符串。是否可以在此字符串的中间向页面添加控件?或进入以这种方式以编程方式添加的元素?
我努力了:
创建锚点(或其他)并定位id
这些元素,然后创建一个按钮,如下所示,但是,由于元素是通过编程方式添加的,并且所需的数量会有所不同,因此id
s 将是 try0、try1 等:
var button = new Button {
CommandArgument = "test",
Text = "Try"
};
button.Command += bt_sendMail_tryDevice_Click;
try.Controls.Add(button);
所以我尝试了以下变体,在我的 aspx 页面中,我有一个“虚拟”元素,id="try"
所以它不会抱怨,但我理解为什么它不喜欢它,同时虽然我不知道如何解决它。(tryCount 是一个 int,它随着每次迭代而增加以保持 id 唯一)。
this.FindControl(try.ToString() + tryCount.ToString()).Controls.Add(button);