2012-03-29 57 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类型的对象。有谁可以说为什么?这是一个使用C#的asp.net应用程序。

+0

你会得到什么drop.SelectedValue,你确定它是一个整数? – Lloyd 2012-03-29 11:39:30

+0

是的..他们是数字:) – Bibu 2012-03-29 11:45:24

+0

你试过这个int a = Int32.Parse(drop.SelectedValue.Trim()); – 2012-03-29 11:56:54

回答

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

它不会给我一个错误,但它不会给我如何我想要..let的说我选择3比rowspan只有2和第三个带来附近第二 – Bibu 2012-03-29 12:18:47

+0

你检查了HTML源? – 2012-03-29 12:20:16

+0

是的...第三个带到第二个..1和2显示正确。 – Bibu 2012-03-29 12:56:44

0

如果drop.SelectedValue的值不是int那么你会得到这个错误。例如,如果该值包含浮点。

+1

,但它是int .. – Bibu 2012-03-29 11:50:25

+0

你有没有试过它trim()? – ABH 2012-03-29 11:52:26

0

尝试使用int.Parse(drop.SelectedValue)int.Parse(drop.SelectedValue.Trim())而不是Int32.Parse(drop.SelectedValue.ToString())drop.SelectedValue已经是字符串格式,因此您无需将其转换为使用ToString

0

尝试Int32.TryParse方法,该方法尝试转换字符串表示未抛出异常为int。同时检查下拉列表项目的值。当字符串值不表示整数值时,会发生此异常。

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

这总是适合我!!!!!!!!!!