c# - Input string was not in correct format? -
when run c# code, error: input string not in correct format. , highlights code:
thetwavalue=convert.toint32(thetwalabel.text);
why happening?
additional info:
the entire c# function:
<script runat="server"> protected void yourlistview_load(object sender, eventargs e) { label thetwalabel; int thetwavalue; foreach (listviewitem item in yourlistview.items) { thetwalabel = (label)item.findcontrol("twalabel"); thetwavalue = convert.toint32(thetwalabel.text); if (thetwavalue >= 0) { if (thetwavalue < 90) thetwalabel.forecolor = system.drawing.color.yellow; else thetwalabel.forecolor = system.drawing.color.red; } } } </script>
here rest of code:
<asp:sqldatasource id="sqldatasource1" runat="server" connectionstring="<%$ connectionstrings:2007 soundassist ver 1.0.5 05-12-2011 ( 2013-06-24)connectionstring %>" providername="<%$ connectionstrings:2007 soundassist ver 1.0.5 05-12-2011 ( 2013-06-24)connectionstring.providername %>" selectcommand="select [plant] [plant]"> </asp:sqldatasource> <asp:dropdownlist id="dropdownlist1" runat="server" autopostback="true" datasourceid="sqldatasource1" datatextfield="plant" datavaluefield="plant" height="85px" width="393px"> </asp:dropdownlist> <asp:sqldatasource id="sqldatasource2" runat="server" connectionstring="<%$ connectionstrings:2007 soundassist ver 1.0.5 05-12-2011 ( 2013-06-24)connectionstring %>" providername="<%$ connectionstrings:2007 soundassist ver 1.0.5 05-12-2011 ( 2013-06-24)connectionstring.providername %>" selectcommand="select [plant], [group no#] column1, [group] [temp table contains twa values] ([plant] = ?)"> <selectparameters> <asp:controlparameter controlid="dropdownlist1" name="plant" propertyname="selectedvalue" type="string" /> </selectparameters> </asp:sqldatasource> <asp:dropdownlist id="dropdownlist2" runat="server" autopostback="true" datasourceid="sqldatasource2" datatextfield="group" datavaluefield="column1" height="30px" width="394px"> </asp:dropdownlist> <asp:sqldatasource id="sqldatasource3" runat="server" connectionstring="<%$ connectionstrings:2007 soundassist ver 1.0.5 05-12-2011 ( 2013-06-24)connectionstring %>" providername="<%$ connectionstrings:2007 soundassist ver 1.0.5 05-12-2011 (2013-06-24)connectionstring.providername %>" selectcommand="select [plant], [group no#] column1, [group], [job code] job_code, [job function] job_function, [job classification] job_classification [temp table contains twa values] (([plant] = ?) , ([group no#] = ?))"> <selectparameters> <asp:controlparameter controlid="dropdownlist1" name="plant" propertyname="selectedvalue" type="string" /> <asp:controlparameter controlid="dropdownlist2" name="column1" propertyname="selectedvalue" type="string" /> </selectparameters> </asp:sqldatasource> <asp:dropdownlist id="dropdownlist3" runat="server" autopostback="true" datasourceid="sqldatasource3" datatextfield="job_classification" datavaluefield="job_classification" height="17px" width="384px"> </asp:dropdownlist> <asp:listview id="yourlistview" onload="yourlistview_load" runat="server" datasourceid="sqldatasource4"> <itemtemplate> <span style="">plant: <asp:label id="plantlabel" runat="server" text='<%# eval("plant") %>' /> <br /> column1: <asp:label id="column1label" runat="server" text='<%# eval("column1") %>' /> <br /> group: <asp:label id="grouplabel" runat="server" text='<%# eval("group") %>' /> <br /> job_code: <asp:label id="job_codelabel" runat="server" text='<%# eval("job_code") %>' /> <br /> job_classification: <asp:label id="job_classificationlabel" runat="server" text='<%# eval("job_classification") %>' /> <br /> job_function: <asp:label id="job_functionlabel" runat="server" text='<%# eval("job_function") %>' /> <br /> job_description: <asp:label id="job_descriptionlabel" runat="server" text='<%# eval("job_description") %>' /> <br /> twa: <asp:label id="twalabel" runat="server" text='<%# eval("twa") %>' /> <br /> <br /> </span> </itemtemplate> </asp:listview> <asp:sqldatasource id="sqldatasource4" runat="server" connectionstring="<%$ connectionstrings:2007 soundassist ver 1.0.5 05-12-2011 ( 2013-06-24)connectionstring %>" providername="<%$ connectionstrings:2007 soundassist ver 1.0.5 05-12-2011 ( 2013-06-24)connectionstring.providername %>" selectcommand="select [plant], [group no#] column1, [group], [job code] job_code, [job classification] job_classification, [job function] job_function, [job description] job_description, [twa] [temp table contains twa values] (([plant] = ?) , ([group no#] = ?) , ([job classification] = ?))"> <selectparameters> <asp:controlparameter controlid="dropdownlist1" name="plant" propertyname="selectedvalue" type="string" /> <asp:controlparameter controlid="dropdownlist2" name="column1" propertyname="selectedvalue" type="string" /> <asp:controlparameter controlid="dropdownlist3" name="job_classification" propertyname="selectedvalue" type="string" /> </selectparameters> </asp:sqldatasource>
you have check input valid -- use tryparse
instead of convert function:
if (int.tryparse(thetwalabel.text, out thetwavalue)) { }
update post-edit
i wrong, don't think values of label
controls posted server -- explain why they're showing empty. in case, setting colors "loaded" event seems unnecessarily complicated. why not create helper method , bind directly?
protected color getcolorforlabel(string text) { int thetwavalue; if (text != null && int.tryparse(text, out thetwavalue) && thetwavalue >= 0) { return (thetwavalue < 90) ? system.drawing.color.yellow : system.drawing.color.red; } return system.drawing.color.green; }
then use bind foreground property:
<asp:label id="twalabel" runat="server" text = '<%# eval("twa") %>' foreground = '<%# getcolorforlabel( eval("twa") string ) %>' />
Comments
Post a Comment