【问题标题】:Creating unique ID's for temporary textboxes为临时文本框创建唯一 ID
【发布时间】:2016-08-25 09:23:30
【问题描述】:

我是编程界的新手,我的应用程序中的 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) 或自动增量,但我不知道如何使用它们。

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

【问题讨论】:

标签: c# html textbox unique generated


【解决方案1】:

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

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

【讨论】:

  • 提供一些例子。 +1
【解决方案2】:

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;

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2017-04-20
    • 2016-12-12
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-28
    相关资源
    最近更新 更多