Web Forms :: How To Get The Selected Value When The Page Load In Dropdownlist
Oct 26, 2010how to get the default value from a dropdownlist when the form load.
View 13 Replieshow to get the default value from a dropdownlist when the form load.
View 13 RepliesIÂ Â have a drop down box , it has value that is retrieve from datasqlsource, however i want to get the count value on page load but it seem that it did not count
'Dim adapter As New SqlDataAdapter
'Dim ds As New DataSet
'Dim connectionString = ConfigurationManager.ConnectionStrings("myProject").ConnectionString
'Dim myConn As New SqlConnection(connectionString)
[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):
<%@ Page Language="VB" CodeFile="EditFormVB.aspx.vb" Inherits="EditFormVB" %>
<%@ Register Namespace="CustomBoundField" TagPrefix="custom" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Edit Pop-up</title>
</head>
<body class="">
<form id="form1" runat="server">
<div>
<script type="text/javascript">
function CloseAndRebind(args) {
GetRadWindow().BrowserWindow.refreshGrid(args);
GetRadWindow().close();
}
function GetRadWindow() {
var oWindow = null;
if (window.radWindow) oWindow = window.radWindow; //Will work in Moz in all cases, including clasic dialog
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; //IE (and Moz as well)
return oWindow;
}
function CancelEdit() {
GetRadWindow().close();
}
</script>
<asp:ScriptManager ID="ScriptManager2" runat="server" />
<telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" Skin="Vista" DecoratedControls="All" />
<br />
<br />
<asp:DetailsView ID="DetailsView1" DataKeyNames="ID" runat="server" AutoGenerateRows="False"
GridLines="None" DataSourceID="detailsSqlDataSource" Height="50px" Width="125px"
BorderWidth="0" CellPadding="0" CellSpacing="7">
<Fields>
<asp:BoundField DataField="TS_DESCRIPTION" HeaderText="TS_DESCRIPTION" SortExpression="TS_DESCRIPTION" />
<asp:BoundField DataField="TS_TITLE" HeaderText="TS_TITLE" SortExpression="TS_TITLE" />
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowInsertButton="True" />
</Fields>
</asp:DetailsView>--%>
<telerik:RadScriptManager ID="RadScriptManager1" runat="server" />
<telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" Skin="Vista" />
<br />
<br />
<asp:DetailsView ID="DetailsView1" runat="server" Height="400px" Width="745px"
AutoGenerateRows="False" DataKeyNames="TS_ID" DataSourceID="SqlDataSource2"
EnableModelValidation="True">
<Fields>
<asp:TemplateField HeaderText="Category">
<EditItemTemplate>
<%--<asp:DropDownList ID="TTCategory" runat="server" DataSourceID="ReqCategoryData" SelectedValue='<%# Bind("TS_NAME") %>' />--%>
<asp:DropDownList DataSourceID="ReqCategoryData" DataTextField="ReqCategory" DataValueField="ReqCategory"
ID="reqCategoryDropDown" runat="server" AppendDataBoundItems="true" AutoPostBack="true" >
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:CommandField ButtonType="Button" EditText="Update" ShowEditButton="True"
ShowCancelButton="True">
<ItemStyle HorizontalAlign="Center" />
</asp:CommandField>
</Fields>
</asp:DetailsView>
</div>
</form>
</body>
</html>
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
I have two pages manager and user both have drop downs asÂ
Week, Months and Years.
User have to enter some data week wise for each months and Manager have to approve that.
To Approve manager select months and week from dropdown on his own page and then navigate to User page.
How does I should bind the drop down so that if manager select 1st week from it's page and goes to view link of user then in drop down of user selected value shold be the same as selected by Manager on his own page.
in this code i have generated runtime checkboxlist controls. my prob is in the page load i want to get the chekboxlist items selected for the items which the user has selected previously and saved. now i get only the last item in the loop as selected and the remaining are not selected.
// page load
protected void Page_Load(object sender, EventArgs e)
{
dsQuest1 = objCDAL.FetchQuestion(Convert.ToInt16(Request.QueryString["QID"]));
QID2 = Convert.ToInt16(Request.QueryString["QID"].ToString());
DataSet dsQuest = objCDAL.FetchQuestion(Convert.ToInt16(Request.QueryString["QID"]));...
I have a function on page load which will work based on dropdown selected value. and I am using this dropdown in a user control. So getting problem because the dropdown value is not loaded yet before Page Load. How Can I do that using those control still.
Here is my code below.
public partial class GradeEntry : System.Web.UI.Page
{
StudentManager studentManager = null;
CourseManager courseManagerObj = null;
GradeManager gradeManager = null;
[Code]....
i have agridview to show the records of tables, this grid view has button infront of each record , i want to press this button to display the selected record in new page to edit it and return it again to gridview
View 6 RepliesIn my web form, i have 2 drop downlist controls. eg. dropdown1 and dropdown2. I will change the dropdownlist1 item, consequently selectedindexchanged event fires and reloads the dropdownlist2 items. And i have another button also in order to get the result based on the dropdown1 and dropdown2. Lets say for example, i have a list of countries in dropdown1 and a list of states in dropdown2. I selected "India" in dropdown1 and correspondingly "Tamilnadu" in dropdown2. And then click a button which calls the dataset based on dropdown1 and dropdown2. The problem i face here is, whenever i click on the button to load the dataset, dropdown1 value remains the same as the dataset is not called again, whereas the dropdown2 value changes to the first one as it gets called automatically during postback. For your information, I have loaded both the lists in the page load using (!IsPostback) property.
My coding is as follows:
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (Session["sesUserName"] == null)
{
Response.Redirect("sessionExpr.aspx", false);
}
else
{
lblStatus.Visible = false;
pnlEvaluate.Visible = false;
if (!IsPostBack)
{
fnLoadDropDown1();
fnLoadDropdown2();
}
}
}
catch (Exception ex)
{
throw ex;
}
}
public void fnLoadDropDown1()
{
dsLoadDD1 = objWebRef.fnLoadOnlineTest();
if (dsLoadDD1.Tables[0].Rows.Count > 0)
{
ddTestTitle.DataTextField = "vchTestTitle";
ddTestTitle.DataValueField = "intTestID";
ddTestTitle.DataSource = dsLoadDD1.Tables[0];
ddTestTitle.DataBind();
}
}
public void fnLoadDropDown2()
{
dsLoadDD2 = objWebRef.fnLoadOnlineTest();
if (dsLoadDD2.Tables[0].Rows.Count > 0)
{
ddUser.DataTextField = "vchUser";
ddUser.DataValueField = "intUserID";
ddUser.DataSource = dsLoadDD2.Tables[0];
ddUser.DataBind();
}
}
protected void ddTestTitle_SelectedIndexChanged(object sender, EventArgs e) ...................
I'm trying to set the selected value of a ddl during page load ie. before databind.
This causes "selected value does not exist" errors. So I force a databind, and add a new element if it does not exist in the data source.
However it looks like when the databind is performed later in the page lifecycle that my added element(s) are removed/overwritten.
Am I setting the values in the wrong part of the life cycle?
how to make a item the default from a dropdownlist, I want to make the value GBP as the option selected when the page loads, i've spent all day trying to get ddlist to work and now i'm stuck on this.
this
.ViewData["ddlCurrency"]
= new
SelectList(ws.ToList(),
"dboCurrencyID",
"dboCountry",
new
SelectListItem
{ Selected = true,
Text = "United
Kingdom (GBP)", Value =
"GBP"
});
I am a student at Millsaps College in Jackson, Mississippi and im working on my Senior Project. For my project i have chosen to use ASP.net MVC 2. Most things seem to be going well, but im having a real issue with the ListBoxFor() method. I have read a ton of posts on this website, StackOverflow as well as others. Here is a description of my problem.
One of the major points of my project is to create a directory of healthcare service providers in Mississippi. These providers can be sorted into multple categories, which creates a many-to-many relationship. Im using a ListBoxFor() to display those categories
when the user would like to edit or create a provider. In the case of creation things work well. However in the case of editing an existing provider, i am unable to figure out how to get the providers's categories to be selected on the load of the page. Below is a look at some of the code. I would be so thankful to anyone who could help me tackle this issue
1. I am using the Entity Framework as my model.
2. Here is the controller i have created
[Code]....
Below is the view portion [Code]....
Assuming i have two dropdownlists namely: dropdownlistA and dropdownlistB. at page load, i bind values to dropdownlistA. however, depending on the value selected or displayed in dropdownlistA, i want to bind data to dropdownlistB.
Currently, i can bind data to dropdownlistA alright and i already have the required dataset and datatable bind data to dropdownlist. However, dropdownlistB does not bind at page load since the criteria for filling the dataset to bind dropdownlistB (which is the value of dropdownlistA) is not selected. how can i make this wwork.
I am currently considered if this might work. If i were to call the databind for dropdownlistA in a different declared method besides its binding in page load, and select the value from bind in the declared method, would any value be selected?
For example:
In during page load, i call the a method that returns dataset values which i bind to dropdownlistA(caseIDDropDownList). then i call another method (CreateexhibitDataSet()) which contains the dataset values for binding dropdownlistB(exhibitDropDownList). however, i need to define a criteria in the CreateExhibitDataset() method which i will use to generate the dataset values to bind dropdownlistB. if i were to call for the data bind of dropdownlistA(caseIDDropdownList) again in the CreateExhibitDataset() method and pick the value in the dropdown list, would i get any values?
How can i work around this to bind both dropdownlists on page load?
[Code]....
Question basically crams it all in... I'm loading a page with a querystring (ID), and I need to use that ID to set the selected item of a ListView when the page loads. The ID is a DataKey on the ListView. I have no code of value to post--none of my attempts at this work.
View 2 RepliesI can't get the following to set on page load. I want the month selected be the current month, on page load. What needs to change here?
[Code]....
protected void DDLzone1_SelectedIndexChanged(object sender, EventArgs e)
{
BindDistrict();
}
[Code]......
here when i click on ALL item from ddlzone1 Â it just "ALL" item in ddldistrict
i want when i select "ALL" item from ddlzone1 in ddldistrict14 show all data from database
i am facing a problem in my code..i have one drop downlist in my page,i store the values in session ,whenever i select the name of the dropdownlist it will redirect to another page,if i select the firstvalue of the dropdownlist,it redirect to another page,and retrive the session value,in that session value i have a case in my page load,if it is firstvalue of the dropdownlist is selected it will call case 1 and executes,if the second value of the dropdownlist is selected,it will call case 2 and it executes ,its not working properly for me..here is my code
dropdownlist.aspx.vb
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
If DropDownList1.SelectedItem.Value = "" Then
[Code].....
i have one dropdownlist in the gridview. i have to load that dropdownlist when that page is loaded. dropdownlist should contain the country list from country table
View 7 RepliesI hv Declared two Master page one Is Base and Derived.. Base Page Load is working but when i hv written load controls in Derived Page Load Using C# it's not working..
View 3 RepliesI am having a problem with disabling DropDownList based on the chice of 1st DropDownList, there is no post back occuring, and it is a template based web app here is the current code:
<script type="text/javascript">
$(function() { var dropDownList1 = $('#<%= ddlUserType.ClientID %>');
var dropDownList2 = $('#<%= ddlMember.ClientID %>'); dropDownList1.change(function(e) {
if ( jQuery("#ddlUserType").val() != "ETOC") dropDownList2.removeAttr('disabled'); e.preventDefault();
else
dropDownList2.removeAttr('enabled'); e.preventDefault(); }
} );
</script>
what is happening now is page is blank and if I remove the above code everything shows, where I am going wrong. here is the plain and final javascript code which worked:
<script language="javascript">
function CheckDropDownState(lstbox)
{
if (lstbox.selectedIndex == 3) { document.forms[0].ddlMember.disabled = 1; }
else { document.forms[0].ddlMember.disabled = 0; }
}
</script>
and thew .aspx code: <asp:dropdownlist id="ddlUserType" runat="server" onclick="CheckDropDownState(this);"></asp:dropdownlist>
what i m trying is i hav two dropdownlists inside the gridview... namely say ddonsiteoffsite and ddhours... now what i want is if the selectedtext of ddonsiteoffsite is "onsite" the ddhours should b disabled... i tried the code snippet but ... its not disabling the ddhours... can someone help me please..
<asp:TemplateColumn HeaderText=" OnSite/OffSite" >
<ItemTemplate>
<asp:DropDownList ID="ddOnsiteOffside" runat="server" onchange="ToggleOnOff(this)">
[code].....
I am having a 2 dropdown list, in the first dropdown I have 3company names,for each company I am having separate tables,every table have a empcode, if the user select the company name in the 1st dropdownlist, as per company selected the 2nd dropdownlist it will fill the list of employee codes as per the selection..
View 1 RepliesI have a country dropdown and a city dropdown.I am filling the country dropdown at the time of page load and showing the city dropdown blank. On the "onChange()" event of the country drop down I am filling the city dropdown according to the country id.
My problem is that after the postback of the page on the "onChange()" event , I am not getting the selected country name(i am getting the "--select country--"). How can i solve this problem.I am waiting for your response.
I have two gridviews on same page - If a record is selected in Gridview1, I need to unselect a record (if one is selected) in Gridview2 - and vice-versa.
View 5 Replieshow i can load an panel(that contain for example Weather information) after page load
View 2 RepliesI have a gridview1 with a Select column, which has a SqlDataSource that executes a Store Procedure.
I also have another gridview2, which also has its own SqlDataSource, but in this case, the Store Procedure has a parameter. This DataSource assigns as parameter the gridview1 control, and its PropertyName is SelectedValue. How can I load the gridview2 when gridview1 is clicked in the Select Column?