0

我想知道是否可以将“元数据”分配给稍后可以在回发中检索的 asp.net 控件?例如,假设我有一个 LinkBut​​ton:

LinkButton link = new LinkButton();
link.ID = "LinkButton_0";
link.Text = "Click here for more info";
link.Click += new EventHandler(link_Click);

现在我想为控件分配更多数据,以便当回发事件发生时,我可以检索这些数据以找出要做什么。我考虑过使用“属性”属性,但我想这不是一个好的解决方案,因为它可能会影响控件的 html 布局:

link.Attributes.Add("param0", "value0");
link.Attributes.Add("param1", "value1");
link.Attributes.Add("param2", "value2");

我需要这样做,因为我的页面有很多动态创建的链接按钮,并且所有这些按钮都会引发相同的回发事件。

有人建议我简单地连接控件 ID 中的所有“元数据”,但我正在尝试找到更好的解决方案。

谢谢。

4

1 回答 1

0

由于您不希望在标记中包含这些元数据,我认为您在客户端不需要它,因此您可以将元数据放在 Session 中,并命名会话项,如控件 ID + paramID,如下所示:

this.Session.Add(link.ID + "-param1", "Value0");

顺便提一句。这是一个示例,如果您从 Page 方法执行此操作,如果您没有页面实例,则可以像这样访问会话:

HttpContext.Current.Session.Add(link.ID + "-param1", "Value0");
于 2012-04-29T17:56:02.213 回答