Web Forms :: Dropdownlist Selectedindexchanged Not Working With Autopostback = True
Jan 19, 2010i have two dropdownlist in my webform both are filled dynamically in the page_load event
[Code]....
i have two dropdownlist in my webform both are filled dynamically in the page_load event
[Code]....
Am using DropDown list. Whenever Autopostback is true it selecting first value of dropdown list...
View 1 RepliesMy dropdownlist having data from database added with the following item:
DropDownList.Items.Insert(0, new ListItem("Please select", "0"));
I am having a problem with dropdownlist auto post back set to true...
In my project I have to hide and display two other dropdown lists depends on selected index change of a main dropdown..
I set the auto postback to true and I am hiding and displaying the dropdowns on user selection...Everthing is working fine..
But I am having a very hard time when user types when the dropdown got focus..this is very annoying situation..if type one word its doing a postback and they are unable to type further...
is there any way to fire this onselectedindex change event on blur or on enter key press...is there a way of doing it with java script or jquery...
The sites I mantain are using way too much ViewState and I'd like to reduce that so the size of the page is reduced. I've done a lot to remedy this but I have an issue relating to DropDown lists that use AutoPostbacks.I have a dropdown list with a lot of list items and a good part of the ViewState usage is to hold the list item data. If I disable ViewState and set the AutoPostBack property to true, the page will post back and in the page load I am trying to repopulate the dropdown list with cached data. However, it seems that the SelectedIndexChanged event doesn't fire when EnableViewState="false".Is it possible to make this work without enabling ViewState for the drodown list?
View 6 RepliesIt took me a little while to figure this out, but the AllowPaging="true" on the FormView seems to be the culprit. I don't have much experience paging from a FormView, but for this requirement the customers wants this kind of UI.I have a FormView with DefaultMode="Edit", which is bound to an EntityDataSource. One of the entity's properties, "ExternalID", determines whether some of the other properties in the entity are read-only. For example, if IsExternal==null, the FirstName, LastName, and Email fields should be rendered as TextBoxes. If IsExternal!=null, the 3 properties should be rendered in Label controls.
View 2 RepliesWhen I select the item in 1st dropdownlist, values are fetched from database and want to display in second dropdownlist... but the autopostback is not working for the 1st dropdownlist..
View 1 Repliesi am using dropdownlist selectedindexchanged event , it is working with good speed in ie 6 or ie 7. But working slow in ie8.
View 2 RepliesI have the following in a web user control:
asp:DropDownList
ID="ddlPrescriptionCodeGroup"
runat="server"
AppendDataBoundItems="True"
AutoPostBack="True"
DataSourceID="PrescriptionCodeGroupDataSource"
DataTextField="CodeGroupDescription"
DataValueField="PrescriptionCodeGroupID"
onselectedindexchanged="ddlPrescriptionCodeGroup_SelectedIndexChanged">
<asp:ListItem
Text="--Please Select--"
Value="-1"></asp:ListItem>
<
</asp:DropDownList>
<asp:SqlDataSource
ID="PrescriptionCodeGroupDataSource"
runat="server"
ConnectionString="<%$ ConnectionStrings:RadiotherapyConnectionString %>"
SelectCommand="SELECT [PrescriptionCodeGroupID], [CodeGroupDescription] FROM [PrescriptionCodeGroup] WHERE (([Archived]
= @Archived) AND ([OrganisationID] = @OrganisationID))">
<SelectParameters>
<asp:Parameter
DefaultValue="False"
Name="Archived"
Type="Boolean"
/>
<asp:SessionParameter
Name="OrganisationID"
SessionField="OrganisationID"
Type="Int32"
/>
</SelectParameters>
</asp:SqlDataSource>
<asp:DropDownList
ID="ddlPrescriptionCode"
AutoPostBack="True"
runat="server"
AppendDataBoundItems="True"
onselectedindexchanged="ddlPrescriptionCode_SelectedIndexChanged"
DataSourceID="PrescriptionCodeDataSource"
DataTextField="CodeDescription"
DataValueField="PrescriptionCodeID"
>
<asp:ListItem
Text="--Please Select--"
Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource
ID="PrescriptionCodeDataSource"
runat="server"
ConnectionString="<%$ ConnectionStrings:SystemConnectionString %>"
SelectCommand="SELECT [PrescriptionCodeID], [CodeDescription] FROM [PrescriptionCode] WHERE (([Archived] = @Archived)
AND ([PrescriptionCodeGroupID] = @PrescriptionCodeGroupID))">
<SelectParameters>
<asp:Parameter
DefaultValue="False"
Name="Archived"
Type="Boolean"
/>
<asp:ControlParameter
ControlID="ddlPrescriptionCodeGroup"
Name="PrescriptionCodeGroupID"
PropertyName="SelectedValue"
Type="Int32"
/>
</SelectParameters>
</asp:SqlDataSource>
When I select from the first dropdown I want to populate the second. However, this is not happening. The postback is happening, but the SelectedIndexChanged handler isn't being called (I have a breakpoint which isn't being hit). The user controls are created dynamically and put into a PlaceHolder which itself is within an AJAX Updatepanel, with ChildrenAsTriggers set to true.
I have following *.aspx page
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Admin_Test" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
[code]....
When I change the value in dropdownList (in browser), it does PostBack, but it selects the first item of list after PostBack - it doesn't save my value.
GetAllDepartments(isDeleted) is a stored procedure, it returns a List of objects with two properties - FieldKey and Name.
have a ASP.NET page for mobile view.On that page I have this part:
[Code]....
While testing this on normal computer using IE7 IE8 it fires the AutoPostBack Control.BUT TESTING IN IPHONE THIS DOES NOT FIRES....ALSO THE DISPLAY IS WIERD BECAUSE A SEPARATE BOX APPEARS AT THE BOTTOM TO SELECT THE LIST.
IAm using ASP.NET Ajax.
Iam having a Update Panel with DropDownList with AutoPostBack="True"
I dont want to postback it, but it going postback, i dont want AutoPostBack="false"
.
Here my code:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering ="true" >
</asp:ScriptManager>
<br />
<br />
<div>
</div>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack ="true" OnSelectedIndexChanged ="DropDownList1_SelectedIndexChanged" >
<asp:ListItem Value="0">----Select----</asp:ListItem>
<asp:ListItem Value="101">General Admin</asp:ListItem>
<asp:ListItem Value="102">Admin Assistant</asp:ListItem>
<asp:ListItem Value="103">Software</asp:ListItem>
<asp:ListItem Value="104">Recruiting</asp:ListItem>
</asp:DropDownList>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode ="Conditional" >
<ContentTemplate >
<asp:DropDownList
ID="DropDownList2" runat="server">
<asp:ListItem Value="0">----Select----</asp:ListItem>
<asp:ListItem></asp:ListItem>
</asp:DropDownList>
</ContentTemplate>
<Triggers >
<asp:AsyncPostBackTrigger ControlID ="DropDownList1" EventName ="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
</form>
I have two radiobuttons in radiobuttonlist and based on selection, i am enabling and disabling the text box.
First time i used date radiobutton and i took date in corresponding textbox and i saved it into database and then when i came back on same page i saw the date radiobutton is checked has proper value then i clicked on another radiobutton and this time page is postback and clear my all the data which was in my other controls(I have 5-6 text boxed on my page). I dont know why?, It supposed to select my other radiobutton and enable the corresponding text box
[Code]....
if (!Page.IsPostBack)
{
if (gvCredentialTypes.SelectedIndex >= 0)
{
CredentialType credType = CredentialType.FindCredentialType(gvCredentialTypes.SelectedValue.ToString());
if (!String.IsNullOrEmpty(credType.CredentialTypeName)) //If exists, load data
{
String expDays = credType.ExpirationLength.ToString();
DateTime expDate = Convert.ToDateTime(credType.ExpirationDate);
// Assign the value to the controls
LoadExpirationDaysDateValue(expDays, expDate);
}
}
}
private void LoadExpirationDaysDateValue(String expDays, DateTime expDate)
{
// Determines whether value for Days or Date is present
Boolean IsDays = false;
// Check if days value is present
if (String.IsNullOrEmpty(expDays) || expDays.Equals("0"))
{
txtExpirationDays.Text = String.Empty;
}
else
{
txtExpirationDays.Text = expDays;
IsDays = true;
}
if (expDate.ToShortDateString().Equals ("1/1/0001"))
{
txtExpirationDate.Text = String.Empty;
}
else
{
txtExpirationDate.Text = expDate.ToShortDateString();
IsDays = false;
}
// Set the radio button value based on whether Date or Days value is present
if (IsDays)
{
// Get ref to the 1st radio item
ListItem liExpirationInDays = rbExpiration.Items.FindByValue("rbExpirationInDays");
if (liExpirationInDays != null)
{
liExpirationInDays.Selected = true;
rbExpiration.Items.FindByValue("rbExpirationDate").Selected = false;
txtExpirationDate.Text = string.Empty;
txtExpirationDays.Text = expDays;
// Enable or disable the controls based on the radio button selection
txtExpirationDays.Enabled = true;
RequiredFieldValidator1.Enabled = true;
RangeValidator1.Enabled = true;
txtExpirationDate.Enabled = false;
RegularExpressionValidator1.Enabled = false;
CalendarExtender2.Enabled = false;
//compDateValidator.Enabled = false;
RequiredFieldValidator2.Enabled = false;
}
}
else
{
// Get ref to the 2nd radio item
ListItem liExpirationDate = rbExpiration.Items.FindByValue("rbExpirationDate");
if (liExpirationDate != null)
{
liExpirationDate.Selected = true;
rbExpiration.Items.FindByValue("rbExpirationInDays").Selected = false;
txtExpirationDays.Text = string.Empty;
txtExpirationDate.Text = expDate.ToShortDateString();
// Enable or disable the controls based on the radio button selection
txtExpirationDate.Enabled = true;
RegularExpressionValidator1.Enabled = true;
RequiredFieldValidator2.Enabled = true;
CalendarExtender2.Enabled = true;
//compDateValidator.Enabled = true;
txtExpirationDays.Enabled = false;
RequiredFieldValidator1.Enabled = false;
RangeValidator1.Enabled = false;
}
}
}
private void EnableCorrespondingTextbox()
{
switch (rbExpiration.SelectedItem.Value)
{
case "rbExpirationInDays":
txtExpirationDays.Enabled = true;
RequiredFieldValidator1.Enabled = true;
RangeValidator1.Enabled = true;
txtExpirationDate.Text = String.Empty;
txtExpirationDate.Enabled = false;
RegularExpressionValidator1.Enabled = false;
CalendarExtender2.Enabled = false;
RequiredFieldValidator2.Enabled = false;
//compDateValidator.Enabled = false;
break;
case "rbExpirationDate":
txtExpirationDate.Enabled = true;
RegularExpressionValidator1.Enabled = true;
RequiredFieldValidator2.Enabled = true;
CalendarExtender2.Enabled = true;
//compDateValidator.Enabled = true;
txtExpirationDays.Text = String.Empty;
txtExpirationDays.Enabled = false;
RequiredFieldValidator1.Enabled = false;
RangeValidator1.Enabled = false;
break;
}
}
protected void OnSelectedIndexChangedMethod(object sender, EventArgs e)
{
EnableCorrespondingTextbox();
}
I have a checkboxlist with autopostback set to true, the checkbox list inside a panel and together they are inside an update panel.
when I first check one item everything is fine but when I try to check another one a javascrip error fires.
"Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: Specified argument was out of the range of valid values. "
this is my code:
[Code]....
With ref. to this post, [URL]
I have placed a dropdown list in Gridview footer, now i want to access the dropdown selected indeex changed event as below. But i'm not able to access the event.
protected void ddlCatg_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddlCategories = grvExpenses.FooterRow.FindControl("ddlCatg") as DropDownList;
DropDownList ddlExpenseSubCategories = grvExpenses.FooterRow.FindControl("ddlSubCatg") as DropDownList;
ddlExpenseSubCategories.Items.Clear();
[CODE]..
I've got a server control that renders out a series of dropdownlist and a checkbox that all have autopostback set to true. When the control renders the onchange event binding is not written out!
Controls are defined as protected, named and added to the controls collection in OnInit, and rendered via RenderControl(writer). Page.requiresPostback is also set.
ANy ideas why this might be? I'm scratching my head.
/* chopped version of the code in question */
[Code]....
I have a checkbox placed inside a gridview:
<GridView><asp:TemplateField HeaderText="Driver"> <ItemTemplate> <asp:CheckBox ID="CheckBoxDriver" AutoPostBack="true" OnCheckedChanged="GridView_Persons_SelectedIndexChanged" ValidationGroup='<%# Eval("ID") + "-" +((GridViewRow)Container).RowIndex %>' CssClass="CXDriver" runat="server" Checked='false' /> </ItemTemplate> </GridView>
For example: A listViewItem 1 has 3 drivers are checked, A listViewItem 2 has 2 drivers are checked.
Therefore, if changing the selectedIndex of the list, the checkbox indexChanged event will be fired.
How could I disable the autopostback of the checkbox during the listview item changed.
I am getting the following error as Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation. when an invalid value is passed in dropdown with autopostback=true. What should I do. I want the solution with "EventValidation=true" and "ValidateRequest=true" in the Page directives. Also without any Custom Error Pages Enabled in web.config file i.e Custom Error Pages are off in web.config file.
View 3 Repliesi have some question about the autopostback. when i set a drop down menu to autopostback to true, the content editor in the same formview is disappear..
View 1 RepliesIn the postback option class, the autopostback property is not functioning (for true or false) to forcibly set the the post back event on web page load as defined at the MSDN Url http://msdn.microsoft.com/en-us/library/system.web.ui.postbackoptions.aspx
A client side validation retrieves the GetPostBackEvent reference successully but fails to to load the page as a forced post back event. The options being set are a) ActionURL, Autpostback , RequiresJavaScriptProtocol and perform validation.
I have three AJAX sliders and each has a:
<asp:AsyncPostBackTrigger ControlID="Slider1" EventName="TextChanged" />
<asp:AsyncPostBackTrigger ControlID="Slider2" EventName="TextChanged" />
<asp:AsyncPostBackTrigger ControlID="Slider3" EventName="TextChanged" />
When I do a TextChanged event on slider1 (by dragging the slider, changing the value), the protected void Slider1_TextChanged(object sender, EventArgs e) event FIRES, however, the TWO other sliders, protected void Slider2_TextChange, and protected void
Slider3_TextChange also FIRES. What gives? why do they fire when I am physically only sliding the slider1 across. The two other sliders values did not change on the webform, yet the event fired.
In order for the event to fire for slider1, I had to insert "Autopostback=true" in the <asp:TextBox ID="Slider1" autopostback="true" OnTextChanged="Slider1_TextChanged">. For <asp:TextBox2> and <asp:Textbox3> I did not put the autopostback event for now.
I have the following sample code
[Code]....
[Code]....
When I place a value in TextBox1 and then click inside TextBox3 (which is there to have a place to go to get out of TextBox1 and TextBox2) the value from TextBox1 remains and is displayed in the MessageBox.Show correctly.
When I pick a value from the drop down calendar extender in TextBox2 for a brief micro-second the value from the calendar displays in TextBox2 and then the MessageBox.Show displays and the value in TextBox2 returns back to the orginally set value. The MessageBox.Show shows the orginally set value.
For TextBox2 if I set AutoPostBack=false then the TextBox2 works correctly and keeps the date picked from the calendar extender but the ontextchanged="TextBox2_TextChanged" never fires.
![<asp:RadioButtonList ID="RdoBtnHasNotified" runat="server" RepeatDirection="Horizontal" AutoPostBack="True" OnSelectedIndexChanged="RdoBtnHasNotified_SelectedIndexChanged">
<asp:ListItem Value="1">Yes</asp:ListItem>
[code]...
I have the following code:
.aspx
<asp:DropDownList ID="ddlCountries" AutoPostBack="true" runat="server">
</asp:DropDownList>
[code]...
I have a gridview with checkboxes going down the side for each item. Some are enabled and others are not. At the top of the page is a checkbox which when checked will make all the checkboxes on the side enabled. THis is not working and I have tried 2 variations. What am I doing wrong?
[Code]....