2016-08-25 38 views
0

我是编程领域的新手,在应用程序中遇到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 I雪景CreateT1,但我希望它是独一无二的,产生的。我听说我的选择是:Guid.NewGuid()。ToString(n)或自动增量,但我不知道如何使用它们。

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

+0

你可以使用[unix timestamp](http://stackoverflow.com/questions/17632584/how-to-get-the-unix-timestamp-in-c-sharp)作为id。 – Timo

回答

2

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

如果您有其他的文本框,或你想要的另一种方式,可以尝试设置每次做一个新的文本框时一个简单的全局变量private int idCounter = 0;,然后设置其IDidCounter,并调用idCounter++;随即。

+0

提供了一些例子。 +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; 

希望它有帮助。