' itemImage1'具有一个无效的SelectedValue,因为它不存在于项列表中。参数名称:value

时间:2017-08-10 13:08:05

标签: c# asp.net

我的网站itemImage1中存在此异常的问题,SelectedValuevalue无效,因为它在项目列表中不存在。 参数名称:null

总结一下代码,我有两个叫吉他和贝司的单选按钮。如果管理员选择吉他,它将生成指定的文件路径并查找该位置内的图像。然后,它将在下拉列表中显示可用图像。低音也是如此,但位置不同。

我第一次尝试使用代码,因为我选择了吉他单片机,它完美地工作并在下拉列表中显示可用的图像。但是当我换到低音单选按钮时,它给了我上面提到的例外。

我尝试通过将数据源和选定值设置为SelectedIndex来解除绑定,清除项目并将protected void Page_Load(object sender, EventArgs e) { ShowItemImages(); } private void ShowItemImages() { var imageList = new ArrayList(); if (itemType1.Checked) { itemImage1.Items.Clear(); itemImage2.Items.Clear(); itemImage1.SelectedIndex = -1; itemImage2.SelectedIndex = -1; itemImage1.SelectedValue = null; itemImage2.SelectedValue = null; itemImage1.DataSource = null; itemImage1.DataBind(); itemImage2.DataSource = null; itemImage2.DataBind(); itemselectedValueGuitar1 = itemImage1.SelectedValue; itemselectedValueGuitar2 = itemImage2.SelectedValue; var images = Directory.GetFiles(Server.MapPath("~/Images/Brands/String Instrument Items/Guitar/")); foreach (var image in images) { var imageName = image.Substring(image.LastIndexOf(@"\") + 1); imageList.Add(imageName); } itemImage1.DataSource = imageList; itemImage1.DataBind(); itemImage2.DataSource = imageList; itemImage2.DataBind(); itemImage1.SelectedValue = itemselectedValueGuitar1; itemImage2.SelectedValue = itemselectedValueGuitar2; } else if (itemType2.Checked) { itemImage1.Items.Clear(); itemImage2.Items.Clear(); itemImage1.SelectedIndex = -1; itemImage2.SelectedIndex = -1; itemImage1.SelectedValue = null; itemImage2.SelectedValue = null; itemImage1.DataSource = null; itemImage1.DataBind(); itemImage2.DataSource = null; itemImage2.DataBind(); itemselectedValueBass1 = itemImage1.SelectedValue; itemselectedValueBass2 = itemImage2.SelectedValue; var images = Directory.GetFiles(Server.MapPath("~/Images/Brands/String Instrument Items/Bass/")); foreach (var image in images) { var imageName = image.Substring(image.LastIndexOf(@"\") + 1); imageList.Add(imageName); } itemImage1.DataSource = imageList; itemImage1.DataBind(); itemImage2.DataSource = imageList; itemImage2.DataBind(); itemImage1.SelectedValue = itemselectedValueBass1; itemImage2.SelectedValue = itemselectedValueBass2; } } 设置为-1,但它仍然无法正常工作。我哪里错了?

以下是代码:

 <tr>
     <td style="width: 160px; height: 37px;"><strong>Item Type:</strong></td>
     <td style="height: 37px">
         <asp:RadioButton ID="itemType1" runat="server" Text="Guitar" AutoPostBack="True" GroupName="ItemType"/>
         <asp:RadioButton ID="itemType2" runat="server" Text="Bass" AutoPostBack="True" GroupName="ItemType"/>
     </td>
 </tr>
 <tr>
     <td style="width: 160px; height: 37px;">
         <strong>Item Image1:</strong></td>
         <td style="height: 37px">
         <asp:DropDownList ID="itemImage1" runat="server" Width="300px">
         </asp:DropDownList>
         <br />
         <asp:FileUpload ID="itemFileUpload1" runat="server" />
         <asp:Button ID="itemUploadImage1" runat="server" Text="Upload Image" OnClick="itemUploadImage1_Click"/>
     </td>
 </tr>
 <tr>
     <td style="width: 160px; height: 37px;">
         <strong>Item Image2:</strong></td>
         <td style="height: 37px">
         <asp:DropDownList ID="itemImage2" runat="server" Width="300px"></asp:DropDownList>
         <br />
         <asp:FileUpload ID="itemFileUpload2" runat="server" />
         <asp:Button ID="itemUploadImage2" runat="server" Text="Upload Image" OnClick="itemUploadImage2_Click"/>
     </td>
</tr>

这是aspx代码:

parser.add_argument('args', nargs='+')

0 个答案:

没有答案