收到错误:“错误 CS0117:”System.Web.UI.Control“不包含”项目索引“的定义

本文关键字:错误 不包含 项目 索引 定义 的定义 包含 UI CS0117 System Web | 更新日期: 2023-09-27 17:56:30

我刚刚在我的 ASP.NET 网页上添加了一个DropDownList。

现在,当我运行时,它给了我以下错误:

错误 CS0117:"System.Web.UI.Control"不包含"项目索引"的定义

可能出了什么问题?

编辑:这是我添加的部分:

<div id="AddUsers" runat="server" style="border: 1px solid skyblue; background-color: #DDEEFF;" visible="true">
    <table width="100%">
        <tr>
            <td class="style2">
                <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>

法典:

Session["Year"].ToString() = ddlChooseFY.SelectedItem.Value.ToString();
res = Common.UserAdd(Session["UserName"].ToString(), Session["Year"].ToString(), txtPAN_NumberI_p1.Text.ToUpper());

收到错误:“错误 CS0117:”System.Web.UI.Control“不包含”项目索引“的定义

Control item = dropDownList1.Items[0];
item.ItemIndex; // cs0117

ListItem item = dropDownList1.Items[0];
item.ItemIndex; // ok

这意味着您需要在使用前澄清类型。在大多数情况下,演员表会有所帮助:

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