2016-08-25 3 views
0

Я довольно новичок в мире программирования и имею проблему с идентификаторами в своем приложении. У меня есть база данных с кораблями и для каждого корабля в базе данных, мой код создаст div с текстовым полем (где я хочу поместить имя корабля, которое поступает из базы данных). Но для каждого текстового поля должен быть уникальный идентификатор для записи данных из базы данных.Создание уникальных идентификаторов для временных текстовых полей

Вот мой код:

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>")); 

Идентификатор текстового поля isnow CreateT1, но я хочу, чтобы быть уникальным и генерируется. Я слышал, что мои варианты: Guid.NewGuid(). ToString (n) или auto increment, но я понятия не имею, как их использовать.

Надеюсь, у вас, ребята, есть ответ или другие варианты!

+0

Вы можете использовать [unix timestamp] (http://stackoverflow.com/questions/17632584/how-to-get-the-unix-timestamp-in-c-sharp) как идентификатор. – Timo

ответ

2

Если вы хотите быстрое и временное исправление, попробуйте использовать значение приращения i, так как оно итерации по всем вашим строкам базы данных, поэтому оно определенно будет уникальным.

Если у вас есть другие текстовые поля, или вы хотите альтернативный способ, попробуйте установить простую глобальную переменную private int idCounter = 0;, а затем каждый раз, когда вы делаете новое текстовое поле, вы установите его ID в idCounter, и вызвать idCounter++; сразу же после этого.

+0

приведены некоторые примеры. +1 –

1

Guid.NewGuid(). ToString (п) или автоматическое приращение

Guid.NewGuid()

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

автоматическое приращение с помощью индекса

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

Надеюсь, это поможет.

Смежные вопросы