Web Forms :: DropDownList - Page Loads Initial Value Should Blank Until Clicking The Dropdown Button
Jul 10, 2010
i have dropdownList Binded to a data source and its working fine But want i want to do is when the page loads its initial value should Blank until clicking the dropdown button
The problem now is before the form completes it's load. If I do click on any buttons on the page, the ModatPoupExtender pops out. and then when I close it, the page freezes.
i want to enter text in textbox by dropdown only when clicking on button.i want that all this perform at client side by javascript..this is dont in apsx page but i want it in .ascx this is following code that i used in aspx page and successfully run as i want:
<script type="text/javascript"> function insertToken(element) { [code]....
I posted a similar question previously, but none of the answers worked and I've been scouring all over the web trying to find a solution. My situation, I have a Edit Window webform with a dropdownlist (Note: to avoid confusion, I'm using Telerik extensions only to decorate the webform):
And in the code behind, I'm setting the datasource for the dropdownlist and using a function to query the DB for the name of the value I want to set as the selected value when the page loads initially: Partial Class EditFormVB Inherits System.Web.UI.Page
Public Shared category_Name As String = "" Dim ddlDataSource As New SqlDataSource Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init DetailsView1.DefaultMode = DetailsViewMode.Edit End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.Page.Title = "Editing record" ''Setup DropDownList SqlDataSource ddlDataSource.ID = "ReqCategoryData" Page.Controls.Add(ddlDataSource) ddlDataSource.ConnectionString = ConfigurationManager.ConnectionStrings("TTPRODReportsQuery").ConnectionString ddlDataSource.SelectCommand = "SELECT TS_NAME AS ReqCategory FROM dbo.TS_SELECTIONS WHERE (TS_FLDID = 5299 AND TS_STATUS = 0) ORDER BY TS_NAME" Dim args As New DataSourceSelectArguments ddlDataSource.Select(args) ''Set max length of Title field to 70 characters Dim dvrTest As DetailsViewRowCollection = DetailsView1.Rows Dim TitleTB As TextBox = dvrTest.Item(0).Cells(1).Controls(0) TitleTB.Attributes.Add("onkeydown", "isMaxLen(this)") TitleTB.Attributes.Add("maxlength", "70") Dim myDDL As DropDownList = DetailsView1.FindControl("reqCategoryDropDown") ''Perform dropdown list population operations If Page.IsPostBack = False Then Dim ticket_ID As String = getDataKey(DetailsView1) ''Fetch Category ID Dim sqlText As String = "SELECT TS_REQCATEGORY FROM USR_ITFAC WHERE (TS_ID = " + ticket_ID + ") " Dim reqDataReader As SqlDataReader = GetDataReader(sqlText) reqDataReader.Read() Dim category_ID As String = reqDataReader(0) ''Fetch Category name using the categoryID and set as selected value in dropdown list sqlText = "SELECT TS_NAME FROM TS_SELECTIONS WHERE (TS_ID = " + category_ID + ") " reqDataReader = GetDataReader(sqlText) reqDataReader.Read() category_Name = reqDataReader(0) myDDL.DataBind() myDDL.Selectedvalue = category_Name //<--this value gets set only when debugging, End If End Sub Private Function GetDataReader(ByVal sqlText As String) As SqlDataReader Dim dr As SqlDataReader Dim sqlConn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("TTPRODReportsQuery").ConnectionString) sqlConn.Open() Dim sqlCmd As SqlCommand = New SqlCommand(sqlText, sqlConn) dr = sqlCmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection) Return dr End Function End Class
The dropdownlist does get populated appropriately, however when I attempt to set the value, it doesn't reflect when the page loads; the dropdownlist just gets populated and no value is set to selected in the markup, so the first value is shown by default. The odd thing is that when I'm debugging, the value appears to get set when I step through the function, it's as if the selectedvalue is getting reset as soon as the function exits and proceeds to load the page.
SOLUTION: Had to add a separate function that is called onLoad from the DropDownList after the after Page_Load is done executing. Still unresolved is why the the DropDownList rebinds after the Page_Load.
IN HTML: <asp:DropDownList DataSourceID="ReqCategoryData" DataTextField="ReqCategory" DataValueField="ReqCategory" ID="reqCategoryDropDown" runat="server" AutoPostBack="true" OnLoad="DDL_DataBound"> IN CODE-BEHIND Public Shared category_Name As String = "" Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.Page.Title = "Editing record" ''Setup DropDownList SqlDataSource ddlDataSource.ID = "ReqCategoryData" Page.Controls.Add(ddlDataSource) ddlDataSource.ConnectionString = ConfigurationManager.ConnectionStrings("TTPRODReportsQuery").ConnectionString ddlDataSource.SelectCommand = "SELECT TS_NAME AS ReqCategory FROM dbo.TS_SELECTIONS WHERE (TS_FLDID = 5299 AND TS_STATUS = 0) ORDER BY TS_NAME" Dim args As New DataSourceSelectArguments ddlDataSource.Select(args) ''Set max length of Title field to 70 characters Dim dvrTest As DetailsViewRowCollection = DetailsView1.Rows Dim TitleTB As TextBox = dvrTest.Item(0).Cells(1).Controls(0) TitleTB.Attributes.Add("onkeydown", "isMaxLen(this)") TitleTB.Attributes.Add("maxlength", "70") Dim myDDL As DropDownList = DetailsView1.FindControl("reqCategoryDropDown") ''Perform dropdown list population operations If Page.IsPostBack = False Then Dim ticket_ID As String = getDataKey(DetailsView1) ''Fetch Category ID Dim sqlText As String = "SELECT TS_REQCATEGORY FROM USR_ITFAC WHERE (TS_ID = " + ticket_ID + ") " Dim reqDataReader As SqlDataReader = GetDataReader(sqlText) reqDataReader.Read() Dim category_ID As String = reqDataReader(0) ''Fetch Category name using the categoryID and set as selected value in dropdown list sqlText = "SELECT TS_NAME FROM TS_SELECTIONS WHERE (TS_ID = " + category_ID + ") " reqDataReader = GetDataReader(sqlText) reqDataReader.Read() category_Name = reqDataReader(0) myDDL.DataBind() End If End Sub Protected Sub DDL_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) If Page.IsPostBack = False Then Dim myDDL As DropDownList = DetailsView1.FindControl("reqCategoryDropDown") myDDL.Items.FindByValue(category_Name).Selected = True End If End Sub
How to populate a DropDownList (using C#) inside a DataList while page loads.....yes we can do it by using DatasourceID propeerty in aspx page itself(as I've done here..), but how do I do using C# in code behind only?
I have a simple search page with a drop down list that I would like the value to persist on refresh..basically the user will select their location from the dropdownlist and this will be used to populate a gridview. After this the page is set to refresh at a set interval and use the same location data initially selected by the user. However the initial selection is lost each time the page refreshes.
p.s system is to old for ajax!
<meta http-equiv="Refresh" content="300" /> <script runat="server"> Dim connectionString As String = ConfigurationManager.ConnectionStrings("****").ConnectionString Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) If Not IsPostBack Then Dim conn As SqlConnection conn = New SqlConnection(connectionString) Dim Locationcommandtext As String Locationcommandtext = "SELECT * FROM [Location] ORDER BY [Location]" Dim loccomm As SqlCommand loccomm = New SqlCommand(Locationcommandtext, conn) Dim reader As SqlDataReader Try conn.Open() reader = loccomm.ExecuteReader() Locations.DataSource = reader Locations.DataValueField = "LocationID" Locations.DataTextField = "Location" Locations.DataBind() Catch ex As SqlException Response.Write("SQL Error: " & ex.ToString()) Finally conn.Close() End Try Else '"Viewstate should kick in here" End If End Sub </script>
I have a telerik radgrid that has an allows inserts. After clicking the "Add New Record" button the textboxes appear with a couple of buttons. One for Insert and one to cancel. I would like the page focus to be on the insert button so when the user clicks the enter button, the insert button has the focus.
In a page hving some textboxes and dropdownlists with every control having server side validation controls.On selecting a dropdown all the validation controls are disappear and on clicking the save button the page remains idle.
I have 2-3 update panel in my page and i don't want to load chart every time when my page loads or button clicks etc. I put that in update panel with triggers means only some clicks should loads chart. but that chart gets loaded everytime. how to stop that from loading
we are making an application in asp.net(visual studio 2008). In this we have made a page in which we have a submit button. on clicking on this submit button we go to next page.on this next page we have a back button.we want that when we click on this back button then the values that we have entered in the previous page is preserved(i.e displayed on the controls in which we have filled).
I am using crystal report. I am able to go to 2nd page on clicking next button but further that nothing happens only 2nd page remains i.e. page not moving further.
I have design small application i kept login and home pages. when i loged in it will redirected to home page. When i click on backspace it is comming to login page. it shouldnt come like that. Like gmail or hotmail. when we login and enter into mail when we press backspace it will not come to login page.
My page scrolls down a bit, so the problem is when the ASP.NET validation kicks in (its a server side validation that sets a table row to visible if there was a failed validation for a given input box).The problem is, when there is an error, the page scrolls back to the top.How can I force the page to the bottom? can use <a name="asdf"></name> but the page doesn't refresh normally since its a asp.net image button.
I am using ASP.NET, the web page is abandoning and clear session when a user click logout link but they click the back button and it is still showing the previous page. How can it prevent the previous page after logout? on Logout.aspx load im using this code
Session.Clear(); Response.Buffer = true; Response.ExpiresAbsolute = DateTime.Now.AddDays(-1D); Response.Expires = -1500; Response.CacheControl = "no-cache"; //----- Second Technique : To Stop Caching of Secure Pages. Response.Cache.SetCacheability(HttpCacheability.NoCache); FormsAuthentication.SignOut(); if (Session["UserName"] == null) { Response.Redirect("login.aspx"); } Session.Clear();
In the page there are two links. When i click the first link it opens a window in a new page. I do this by using the above code.
I am clicking the second link in the page and navigating to another page. Now i am clicking the browser back button. Supprisingly its opening the first link.
How clicking back button is opening the link in the page. I am using c# .net 2005.
Can I save a page position in browser after clicking button or some other actions (after PostBack)
I need it on Page Change event in my DBGrid like on msdn.microsoft.com - when I change Tab C# -> C++ for example it doesn't refresh whole page and I still being on same position in browser.
I have a field that is a DropDownList. When in the insert mode I want that field to be blank - It currently is displaying the first record in the table it pulls from. I was expecting to see an initial value setting in the DropDownList properties but do not. For example - suppose I have a field named locations that consist of 4 location (below). In "Insert" mode, location currently displays Dallas. I want it to be set to blank initially and the user select one. What am I mssing?