I have two dropdown lists one static(Requested) another one is dynamic(Response)."Response" is depends on the "Requested" dropdown list.I am new to dot new framework.I don't no I go a exception in my code.
Ord.aspx
<%@ Page Title="" Language="C#" AutoEventWireup="true" CodeBehind="o1.aspx.cs" Inherits="C.Portal.ord" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<div id="Order">
<table width="100%" border="0">
<tr>
<td><asp:Label ID="Label0" runat="server" Text="Requested:* " /></td>
<td>
<asp:RequiredFieldValidator ID="v1" ControlToValidate="ddlreq1" CssClass="error" InitialValue="" Display="Dynamic" SetFocusOnError="true" runat="server">
Please select request<br />
</asp:RequiredFieldValidator>
<asp:DropDownList ID="ddlreq1" Width="100%"
TabIndex="15" AutoPostBack="true"
onselectedindexchanged="ddlRequest_SelectedIndexChanged" runat="server">
<asp:ListItem></asp:ListItem>
<asp:ListItem>Req1</asp:ListItem>
<asp:ListItem>Req2</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td><asp:Label ID="Label1" runat="server" Text="Response :* " /></td>
<td>
<asp:RequiredFieldValidator ID="v2" ControlToValidate="ddlresp" CssClass="error" InitialValue="" Display="Dynamic" SetFocusOnError="true" runat="server">
Please select a color<br />
</asp:RequiredFieldValidator>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="ddlresp" DataTextField="ddlText" Width="100%" TabIndex="16" runat="server" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlreq1" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
</td>
</tr>
</div>
</table>
</asp:Content>
Ord.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Web.Security;
using System.Configuration;
using System.Data.SqlClient;
using System.Net.Mail;
namespace C.Portal
{
public partial class ord : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// other code
if (!IsPostBack)
{
DataSet Color = new DataSet();
Color.ReadXml(MapPath("Project/Color.xml"));
ddlresp.DataSource = Color;
ddlresp.DataBind();
}
}
protected void ddlRequest_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlRequest.SelectedValue != "")
{
var requestMatrix = (from f in db.RequestMatrixes
where f.Type == ddlRequest.SelectedValue
select f).SingleOrDefault();
if (!requestMatrix.testcolor)
{
ddlresp.SelectedValue = "None";
ddlresp.Enabled = false;
}
else
{
ddlresp.SelectedIndex = 0; // here I got a exception
ddlresp.Enabled = true;
}
}
}
}
}
I my code exception details: Response dropdown list not loaded.HOw to load the response dropdown list? some help me.
ddlresp' has a SelectedIndex which is invalid because it does not exist in the list of items. Parameter name: value
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentOutOfRangeException: 'ddlresp' has a SelectedIndex which is invalid because it does not exist in the list of items. Parameter name: value
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[ArgumentOutOfRangeException: 'ddlresp' has a SelectedIndex which is invalid because it does not exist in the list of items. Parameter name: value]
ddlresp? If there are no items, you can't select the first one...ddlPad.DataBind();. he is not binding ddlresp