asp.net
2009-09-29 39 views 1 likes 
1

服务器标签中没有代码块吗?例如,我希望使用代码块创建自定义ID字段。 (我知道有其他的方式与中继器要做到这一点,但在我的特定情况下,我想,如果不相关的理由,这样做事的可能。)服务器标签中的ASP.NET代码块

<% foreach(var reference in references) { %> 
... 
<asp:LinkButton runat="server" ID='lbUpdateEmail_<%=reference.ReferenceId%>' OnClick="lbUpdateEmail_Click" style="float:right;">Update Email</asp:LinkButton> 
... 
<% } %> 
+0

以这种方式生成ID背后的原因是什么?任何你想要它的具体例子? – shahkalpesh 2009-09-29 18:46:32

回答

3

在服务器标签内不可能使用<%%>。

尽管ASP.NET看起来非常动态,但您必须记住,这些页面实际上是编译为.NET类的。

在这种情况下,您正在使用的LinkBut​​ton标记表示您希望您的页面类包含LinkBut​​ton的实例,并且该ID会为您提供在设计时用于访问该属性的属性名称(当您编辑你的代码。)

让我们说在你的代码背后你想禁用链接按钮?如果身份证尚未确定,您将如何参考?另外,请记住,您设置的“ID”不是在HTML中呈现的“ID” - 如果那是您正在寻找的内容。

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); 
} 
+0

+1由于某种原因,这看起来像是开箱即用的想法 – sshow 2009-09-29 18:49:11

1

我相信,如果你打开ASP 3.0经典兼容模式,你可以这样做;说,我真的建议寻找另一种方法。

 相关问题

  • 暂无相关问题^_^