2

我有一个中继器控件,它从数据库中提取一些数据并为与每一行相关的值创建一个单选按钮列表。我不知道会有多少行回来,所以我不知道会有多少单选按钮列表。此转发器位于表单内,一旦我单击表单上的“提交”,我需要从转发器生成的单选按钮中获取值。

关于如何做到这一点的任何想法?

4

1 回答 1

4

有几个选项。

一种是使用嵌套的中继器来显示 RadioButtons。

另一种是在原始中继器期间创建控件。Repeater.ItemDataBound事件。

无论哪种情况,您都需要非常了解Page Lifecycle

您将希望避免在 Page_Load 事件中进行数据绑定,除非数据绑定是使用if(!Page.IsPostback)块完成的。如果您未能检查回发,您将遇到 Page_Load 调用 DataBind() 调用,然后在任何事件处理程序可以使用它之前擦除转发器的值的问题。

或者,您可以在 Page_Init 中进行绑定,这发生在可以应用视图状态之前,因此您不会丢失您的值。

您还可以对 RadioButtons 使用用户控件。之前有一篇文章介绍了如何在此处的中继器中使用 nexsted 用户控件。

于 2012-09-24T15:29:13.373 回答