我有一个下拉列表,我希望将所选值放入一个int变量,然后在我的aspx页面中,我想将它分配给rowspan。这是我获取值并转换它的C#代码:
protected void drop_SelectedIndexChanged(object sender, EventArgs e)
{
int a = Int32.Parse(drop.SelectedValue.ToString());
这是我的aspx代码,我正在尝试分配变量a:
<asp:TableHeaderRow>
<asp:TableHeaderCell RowSpan="<% a %>">Hostese</asp:TableHeaderCell>
</asp:TableHeaderRow>
我收到错误:无法从字符串表示形式创建int32类型的对象。有谁能说为什么?这是一个带有C#的asp.net应用程序。
答案 0 :(得分: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());
答案 1 :(得分:2)
这个怎么样:
int a = int.TryParse(drop.SelectedValue, out a)? a : 0;
答案 2 :(得分:0)
如果drop.SelectedValue
的值不是int
,那么您将收到此错误。例如,如果值包含浮点。
答案 3 :(得分:0)
尝试使用int.Parse(drop.SelectedValue)
或int.Parse(drop.SelectedValue.Trim())
代替Int32.Parse(drop.SelectedValue.ToString())
。 drop.SelectedValue
已采用字符串格式,因此您无需使用ToString
答案 4 :(得分:0)
尝试Int32.TryParse
方法,尝试将字符串表示转换为int而不抛出异常。还要检查下拉列表项的值。当字符串值不表示整数值时会发生此异常。
答案 5 :(得分: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);
这对我来说总是有用!!!!!!!!!!