【问题标题】:How to change label and radio button index如何更改标签和单选按钮索引
【发布时间】:2014-02-28 11:08:37
【问题描述】:
foreach (DataRow row in ds.Rows)
{
    Label1.Text = row["ques"].ToString();
    RadioButton1.Text = row["op1"].ToString();
    RadioButton2.Text = row["op2"].ToString();
    RadioButton3.Text = row["op3"].ToString();
    RadioButton4.Text = row["op4"].ToString();
}

在这段代码中,每次循环运行时,我希望label1.text 的值更改为label2.text,然后label3.text 等等。

与单选按钮类似。

这是否可能以及如何实现。

【问题讨论】:

  • 使用yield.. 是一项非常可爱的任务。

标签: c# asp.net logic


【解决方案1】:

如果您之前没有将控件组装到数组或列表中,最好使用FindControl

int i = 1;
foreach (DataRow row in ds.Rows)
{
    Label label = (Label)ParentControlId.FindControl(string.Format("Label{0}", i));
    label.Text = row["ques"].ToString();
    // same for radio buttons
    i++;
}

请注意,FindControl 应在标签或单选按钮的直接父级上调用。

【讨论】:

  • 当前上下文中不存在名称'ParentControlId'....怎么办???
  • @user3166111,当然不是——这只是一个例子。我们不知道您的标记。您应该找到您的标签/单选按钮的直接父控件,并用您的 ID 替换 thid。示例:如果您的所有标签都包含在 ID 为 Panel1 的面板中,正确的代码将是 Panel1.FindControl
  • 现在我收到此错误“对象引用未设置为对象的实例。”在 "label.Text = row["ques"].ToString();"
  • @user3166111,标签未找到或 row["ques"] 返回 null。没有细节就无法判断是哪个
  • 我还想问你一件事...在数据库中,我的列具有以下值...“仅指定 标记显示 ____________”这将输出为“仅指定标记显示 ____________" 如何正确显示事物...也意味着 html 标签!!!
猜你喜欢
  • 1970-01-01
  • 2015-11-24
  • 1970-01-01
  • 1970-01-01
  • 2021-04-23
  • 2019-12-03
  • 2020-12-12
  • 2013-01-13
  • 1970-01-01
相关资源
最近更新 更多