为临时文本框创建唯一ID

时间:2016-08-25 09:23:30

标签: c# html textbox unique generated

我在编程领域很陌生,在我的应用程序中遇到ID问题。我有一个带有船只的数据库,对于数据库中的每艘船,我的代码将创建一个带有文本框的div(我想在其中放置来自数据库的船的名称)。但是每个文本框都必须有一个唯一的ID来从数据库中写入数据。

这是我的代码:

for (int i = 0; i < count; i++)
        {
            System.Web.UI.HtmlControls.HtmlGenericControl createDiv =
            new System.Web.UI.HtmlControls.HtmlGenericControl("DIV");
            createDiv.ID = "createDiv";
            this.Controls.Add(createDiv);

            TextBox tb_name = new TextBox();
            tb_name.ID = **"CreateT1";**
            createDiv.Controls.Add(new LiteralControl
            ("<div class='form-group'><div class='clearfix' ></div><div class='row'><div class='col-md-3'></div><div class='col-md-3'> Schipnaam: <input type='text' **id='CreateT1'** runat='server'/></div></div></div>"));

文本框的ID现在是CreateT1,但我希望它是唯一的并生成。我听说我的选项是:Guid.NewGuid()。ToString(n)或自动增量,但我不知道如何使用它们。

希望你们有答案或其他选择!

2 个答案:

答案 0 :(得分:2)

如果您想要快速和临时修复,请尝试使用增量值i本身,因为它会遍历所有数据库行,因此它肯定是唯一的。

如果您有其他文本框,或者想要其他方式,请尝试设置一个简单的全局变量private int idCounter = 0;,然后每次创建新文本框时,将其ID设置为idCounter之后立即致电idCounter++;

答案 1 :(得分:1)

  

Guid.NewGuid()。ToString(n)或自动增量

Guid.NewGuid()

createDiv.ID = Guid.NewGuid().ToString();
tb_name.ID= Guid.NewGuid().ToString();

通过索引自动增量

createDiv.ID = "createDiv-" + i;
tb_name.ID = "createTextBox-" + i;

希望它有所帮助。