Getting Error: "error CS0117: 'System.Web.UI.Control' does not contain a definition for 'ItemIndex'
I just added a DropDownList to my ASP.NET webpage.
Now, when I run, it gives me following error:
error CS0117: 'System.Web.UI.Control' does not contain a definition for 'ItemIndex'
What could be wrong?
Edit: This is the portion I added:
<div id="AddUsers" runat="server" style="border: 1px solid skyblue; background-color: #DDEEFF;" visible="true">
<table width="100%">
<tr>
<td class="开发者_StackOverflowstyle2">
<b>First Name</b><span style="color: #cc0000">
*</span></td>
<td class="style3">
<b>Middle Name</b> </td>
<td class="style2">
<b>Last Name</b><span style="color: #cc0000">
*</span></td>
<td style=" width: 100px;" >
<b>PAN No</b><span style="color: #cc0000">
*</span></td>
<td style=" width: 100px;" >
<b>Financial Year</b></td>
<td width="13%">
</td>
</tr>
<tr>
<td class="style2">
<asp:TextBox ID="txtFirstName_1" runat="server" CssClass="fields" Width="100px" Height="18px" MaxLength="25" />
</td>
<td class="style4">
<asp:TextBox ID="txtMiddleName" runat="server" CssClass="fields" MaxLength="75" Width="100px" Height="18px" />
</td>
<td class="style2">&
<asp:TextBox ID="txtLastName_1" runat="server" CssClass="fields" MaxLength="25" Width="100px" Height="18px" />
</td>
<td style="width: 110px;font-weight: bold;color: #000000;">
<asp:TextBox ID="txtPAN_NumberI_p1" runat="server" style="text-transform: uppercase" CssClass="fields" MaxLength="10" Width="100px" Height="18px" />
</td>
<td style="width: 110px;font-weight: bold;color: #000000;">
<asp:DropDownList ID="ddlChooseFY" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlChooseFY_SelectedIndexChanged">
<asp:ListItem Value="-- SELECT --">-- SELECT --</asp:ListItem>
<asp:ListItem Value="2011">2009 - 2010</asp:ListItem>
<asp:ListItem Value="2010">2010 - 2011</asp:ListItem>
</asp:DropDownList>
</td>
<td width="13%">
<asp:Button ID="imgAdd" runat="server" Text="Add User" CssClass="button" Height="22px" onclick="imgAdd_Click" Width="76px" />
</td>
<td width="10%">
<input id="Button1" type="button" class="button1" onclick="ClearUser();" style="cursor:pointer" value="Clear" />
</td>
</tr>
</table>
<br />
<b> NOTE</b>: PAN
No. once entered cannot be changed. Hence, please ensure that your PAN No is
correct.<br />
</div>
Code:
Session["Year"].ToString() = ddlChooseFY.SelectedItem.Value.ToString();
res = Common.UserAdd(Session["UserName"].ToString(), Session["Year"].ToString(), txtPAN_NumberI_p1.Text.ToUpper());
Control item = dropDownList1.Items[0];
item.ItemIndex; // cs0117
but
ListItem item = dropDownList1.Items[0];
item.ItemIndex; // ok
what means that you need to clarify the type before use. In most cases cast will help:
Control item;
((ListItem)item).ItemIndex
string year = ddlChooseFY.SelectedItem.Value; // already string, don't call ToString()
//Session["Year"].ToString() // no!! don't do this, this makes no sense at all
Session["Year"] = year; // do this instead
string year = (string)Session["Year"]; // cache and cast, if you know the actual type
// or Session["Year"] as string; if (year != null) ...
res = Common.UserAdd(year, year, txtPAN_NumberI_p1.Text.ToUpper());
精彩评论