I have a DropDownList in a popup where I am trying to get a user’s input. I also have a “onselectedIndexChanged” for getting the users input. I have my entire DropDownList in an updatePanel so that only the DropDownList gets updated.(the popup is built using JQuery/JS) I user JS to the hiddenfield value then pass it to another function)
Here is my code :
<div id="ddlFiles">
<label>
Select new CaseFile:</label>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel runat="server" ID="UpdatePanel1">
<ContentTemplate>
<asp:DropDownList runat="server" ID="ddlCaseFilesNew" DataSourceID="dsCaseFiles"
DataTextField="Display" DataValueField="FileID" OnPreRender="ddl_PreRender" Width="300px"
AutoPostBack="true" OnSelectedIndexChanged="ddlCaseFilesNew_SelectedIndexChanged">
<asp:ListItem>Item 1</asp:ListItem>
</asp:DropDownList>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlCaseFilesNew" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
</div>
and here is my selectedIndexChanged:
<script runat="server">
protected void ddlCaseFilesNew_SelectedIndexChanged(object sender, EventArgs e)
{
hidNewCaseFile.Value = ddlCaseFilesNew.SelectedItem.Value;
}
</script>
Now for some reason as soon as I select something from the list it sends me to a “cannot find resource ” page. I don’t know why it does that. My url looks like this:
http://localhost:49355/base/Expenses/ViewExpenses.aspx?CaseFileID=2001
When I try to select a value, it opens that error (cannot find resource) page and says I can’t find the link.
Here is a picture of the error:
Page_load:
Response.Cache.SetAllowResponseInBrowserHistory(false);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
if (!isLoggedIn())
return;
if (Request.QueryString["ExpenseID"] != null)
{
if (!IsPostBack)
{
ddlCaseFilesNew.DataSourceID = "dsCaseFiles";
ddlCaseFilesNew.SelectedIndex = -1;
ddlCaseFilesNew.DataTextField = "Display";
ddlCaseFilesNew.DataValueField = "FileID";
ddlCaseFilesNew.DataBind();
if (Request.QueryString["CaseFileID"] != null) // from view>casefiles>casefile#>notes
hidCaseFile.Value = Request.QueryString["CaseFileID"].ToString();
}
}
if (Request.QueryString["CaseFileID"] != null) // from view>casefiles>casefile#>notes
hidCaseFile.Value = Request.QueryString["CaseFileID"].ToString();
else if (Request.QueryString["FileID"] != null && Request.QueryString["TaskID"] != null) // from view>task>specific task notes
{
hidCaseFile.Value = Request.QueryString["FileID"].ToString();
hidTaskID.Value = Request.QueryString["TaskID"].ToString();
}
}
protected void ddl_PreRender(object sender, EventArgs e)
{
DropDownList ddl = (DropDownList)sender;
try
{
if (ddl.Items[0].Value != "-1")
ddl.Items.Insert(0, new ListItem("--Select--", "-1"));
}
catch
{
ddl.Items.Insert(0, new ListItem("--Select--", "-1"));
}
}
Try setting UpdateMode=”Conditional” for your UpdatePanel and then try agaian..