您是否可以在服务器标签中安装代码块?例如,我希望使用代码块创建自定义id字段。 (我知道还有其他方法可以使用中继器,但在我的特殊情况下,如果出于不相关的原因,我可能会这样做。)
<% foreach(var reference in references) { %>
...
<asp:LinkButton runat="server" ID='lbUpdateEmail_<%=reference.ReferenceId%>' OnClick="lbUpdateEmail_Click" style="float:right;">Update Email</asp:LinkButton>
...
<% } %>
答案 0 :(得分:3)
我建议您以编程方式在代码后面添加链接按钮:
foreach(var reference in references)
{
LinkButton newLinkButton = new LinkButton();
newLinkButton.Text = "Update Email";
newLinkButton.Click += new EventHandler(a_lbUpdateEmail_Click);
myPlaceHolder.Controls.Add(newLinkButton);
}
答案 1 :(得分:3)
无法使用&lt; %%&gt;内部服务器标签。
尽管ASP.NET在其行为中看起来非常动态,但您必须记住这些页面实际上已编译为.NET类。
在这种情况下,您使用的LinkButton标记表示您希望您的页面类包含LinkButton的实例,并且该ID为您提供将在设计时用于访问此属性的属性的名称(当您编辑时)你的代码。)
让我们说你的代码背后想要禁用链接按钮?如果ID尚未确定,您会如何引用它?
另外,请记住,您设置的“ID”不是以HTML格式呈现的“ID” - 如果这是您要查找的内容。
答案 2 :(得分:1)
我相信如果您打开ASP 3.0经典兼容模式,您可以这样做;那说,我真的建议考虑另一种方法。