首页 > 解决方案 > c# page_init中的动态向导给出重复的id错误

问题描述

我将动态文本框添加到 asp 向导并设置文本框 id 以匹配 sql server 表中的 id。我已经检查过这些 id 都是唯一的,而且它们是唯一的,但是当我从向导步骤单击到另一个时,我不断收到以下错误。

我需要文本框 id 来匹配数据库中的唯一 ID,因为我正在使用 ajax 实时发布数据。绝对是导致错误的 textbx id。

protected void Page_Init()
{
    play1(null,null);
}

protected void play1(object sender, EventArgs e)
{
    var wizsteps = sdc.usp_WizSteps().ToList();

    foreach (var step in wizsteps)
    {      
        WizardStep ws = new WizardStep();
        ws.ID = step.SectionId;
        ws.Title = step.SectionName;
        wz1.WizardSteps.Add(ws);
        ws.Title = step.SectionName;

        Table tbl = new Table();
        ws.Controls.Add(tbl);
        //tbl.ID = UniqueID;
        ///End of step
        var conts = sdc.usp_WizStepContent(int.Parse(step.SectionId)).ToList();

        foreach (var cont in conts)
        {
            string txt = cont.strText;
            //DataTable dt = new DataTable();
            TableRow tr = new TableRow();

            tbl.Rows.Add(tr);
            System.Web.UI.WebControls.Label lbl = new System.Web.UI.WebControls.Label();
            lbl.Text = txt;
            TableCell td = new TableCell();
            tr.Controls.Add(td);
            td.Controls.Add(lbl);

            if (cont.InputType == "Textbox")
            {

                TableCell tdi = new TableCell();
                tr.Controls.Add(tdi);
                System.Web.UI.WebControls.TextBox tb = new System.Web.UI.WebControls.TextBox();
                tdi.Controls.Add(tb);
                tb.ID = cont.id.ToString();
                tb.CssClass = "changable";
                tb.Text = cont.id.ToString();
            }
        }
    }
    wz1.ActiveStepIndex = 0;
}

标签: c#sql

解决方案


我的错。在向导步骤和文本框之间复制 id。


推荐阅读