2016-08-25 63 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; 

希望它有幫助。