开发者

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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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());
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜