2013-02-19 8 views
0

У меня есть простая программа ASP.net с текстовым полем, кнопкой и надписью.Использование оператора + = с разделителем

В событии нажатия кнопки я назначаю текст текстового текста в текст ярлыка и добавляю его каждый раз с использованием оператора присваивания. Я разделяю значения с помощью запятой.

protected void Button1_Click(object sender, EventArgs e) 
{ 
    Label1.Text += TextBox1.Text + ","; 
} 

Проблема в том, что этот код дает мне дополнительную запятую. например если значения 1, 2, 3, 4 и 5 вводятся в текстовое поле, текстовая метка будет:

1,2,3,4,5, 

Мне нужно, чтобы это было:

1,2,3,4,5 

Может кто-нибудь помочь?

+1

Почему вы не просто удалить последнюю запятую, для например, взяв подстроку 0 ... length - 2. –

+0

Теперь мне любопытно, почему вы добавляете запятую в конец TextBox1.Text на кнопку click, если вы уже вводите запятые в текстовое поле. –

ответ

4

После того как вы закончите, сделайте следующее:

Label1.Text.Trim(','); 
+0

Не могли бы вы объяснить, что вы подразумеваете под «готовым», пожалуйста ?. – Steve

+0

означает, прежде чем сохранять или делать то, что вы собираетесь делать с Label.Text, который в настоящее время имеет значение 1,2,3,4,5, просто обрезайте запятую Label1.Text.Trim (','); –

+0

Ну, так что в первый раз, когда trim() уходит всего на 1, что произойдет после второго щелчка? вы получите «12» вместо 1,2. OP говорит «каждый раз», что означает, что он нажимает более одного раза – Steve

3

Первый раз просто присвоить TextBox.Text, затем добавьте первый запятая затем TextBox.Text

protected void Button1_Click(object sender, EventArgs e) 
{ 
    if(Label1.Text.Length == 0) 
     Label1.Text = TextBox1.Text; 
    else 
     Label1.Text += "," + TextBox1.Text; 
} 
2
protected void Button1_Click(object sender, EventArgs e) 
{ 
    if(Label1.Text.Lenght <= 0) 
     Label1.Text = TextBox1.Text; 
    else 
     Label1.Text += "," + TextBox1.Text; 
} 
1

Try :

protected void Button1_Click(object sender, EventArgs e) 
{ 
    Label1.Text += (Label1.Text.Length == 0 ? "" : ",") + TextBox1.Text; 
} 

Это как вы предварять запятую на добавленную только текст, если метка является пустой

2

Append запятой первым, если метка не является пустым

protected void Button1_Click(object sender, EventArgs e) 
{ 
    if (String.IsNullOrEmpty(Label1.Text)) 
     Label1.Text = TextBox1.Text; 
    else 
     Label1.Text += "," + TextBox1.Text; 
} 
1
Label1.Text += string.IsNullOrEmpty(Label1.Text) ? TextBox1.Text : string.Format(",{0}", TextBox1.Text); 
Смежные вопросы