2012-03-29 3 views
3

У меня есть выпадающий список, и я хочу, чтобы выбранное значение было помещено в переменную int, а затем на моей странице aspx я хочу присвоить ее строке rowspan. Это мой C# код для получения значения и преобразования его:преобразование выбранного значения из выпадающего списка в int

protected void drop_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      int a = Int32.Parse(drop.SelectedValue.ToString()); 

И это мой ASPX код, где я пытаюсь присвоить переменной а:

<asp:TableHeaderRow> 
<asp:TableHeaderCell RowSpan="<% a %>">Hostese</asp:TableHeaderCell> 
</asp:TableHeaderRow> 

Я получаю ошибку: не могу создайте объект типа int32 из его строкового представления. Может ли кто-нибудь сказать, почему? Это приложение asp.net с C#.

+0

Что вы получаете для drop.SelectedValue, вы уверены, что это целое число? – Lloyd

+0

yes..they are numbers :) – Bibu

+0

Вы попробовали это int a = Int32.Parse (drop.SelectedValue.Trim()); –

ответ

2

попробуйте установить это значение, когда вы читаете значение выпадающего списка.

<asp:TableHeaderRow> 
    <asp:TableHeaderCell ID="h1" >Hostese</asp:TableHeaderCell> 
</asp:TableHeaderRow> 



protected void drop_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    h1.RowSpan = Int32.Parse(drop.SelectedValue.ToString()); 
+0

это не дает мне ошибку, но это не приносит мне, как я хочу ... сказать, что я выбираю 3, чем ряды, только на 2, а 3-й приближен ко второму – Bibu

+0

вы проверили источник html? –

+0

Да ... 3-й приближен к второму. 1 и 2 отображаются правильно. – Bibu

0

Если значение drop.SelectedValue не равно int, тогда вы получите эту ошибку. Например, если значение содержит плавающую точку.

+1

, но это int .. – Bibu

+0

Вы пробовали его с trim()? – ABH

0

Попробуйте использовать int.Parse(drop.SelectedValue) или int.Parse(drop.SelectedValue.Trim()) вместо Int32.Parse(drop.SelectedValue.ToString()). drop.SelectedValue уже находится в строчном формате, поэтому вам не нужно его преобразовывать, используя ToString

0

Попробуйте Int32.TryParse метод, которые пытаются преобразовать строковое представление в целое без выбрасывания исключения. Также проверьте значения выпадающих списков. Это исключение возникает, когда строковое значение не представляет целочисленное значение.

2

Как об этом:

int a = int.TryParse(drop.SelectedValue, out a)? a : 0; 
0

если значение выпадающего списка пунктов в числах (цифры), как ...

<asp:DropDownList ID="DropDownList1" runat="server"> 
     <asp:ListItem Text="Please Select" Value="-1"></asp:ListItem> 
     <asp:ListItem Text="1st" Value="1"></asp:ListItem> 
     <asp:ListItem Text="2nd" Value="2"></asp:ListItem> 
     <asp:ListItem Text="3rd" Value="3"></asp:ListItem> 
    </asp:DropDownList> 

, то вы можете просто сделать это ...

int i = Int32.Parse(DropDownList1.SelectedValue); 

Это всегда работает для меня !!!!!!!!!!

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