MVC :: Html.DropDownList Not Setting Selected Value?
Feb 22, 2011
I've been all over the Internet looking for an acceptable solution to this issue, but didn't find one, so hopefully I'll have more luck here. I've got a Html.DropDownList control in my application that pulls in a set of values from the database. That works just fine. However, I want to set the selected value in code, which has never worked correctly. This is, in my opinion, one of the worst implementations of Html helpers in MVC. Here's the culprit:
[Code]....
OK, it takes in a list of statuses and gets the text/value options set without a problem, but doesn't ever render the selected value on the option with a value (ID) of "5". I've stepped through the code as it is assigning these values, and it
does set the value of that option to select = true, but the rendered html doesn't reflect this. I recall something about this helper using the Model to set its selected value, but why will it not allow the value to be explicitly set? Even better, if for some reason explicitly setting this in code isn't going to work, why allow it as viable code, and just silently fail? I'm all for this coding by convention approach MVC has taken, but when the convention is explicitly overridden in code, the code should prevail, I would think.
View 1 Replies
Similar Messages:
Jan 15, 2010
My problem is I need to set selected value of a drop down list to a value I retreive from a database. The example only has a know value.
Below is the HTML and Code.
<asp:DropDownList
id="ddlCatogory1st1"
DataSourceID="srcCatogory1st1"
DataTextField="CategoryName"
DataValueField="CategoryID"
AutoPostBack="true"
Runat="server" />
<asp:sqldatasource id="srcCatogory1st1"
ConnectionString="server=(local);database=db;Trusted_Connection=true"
SelectCommand="SELECT CategoryID, CategoryName FROM Categories WHERE ParentCategoryID is null ORDER BY CategoryID"
Runat="server" ></asp:sqldatasource>
Sub Page_Load()
DISPLAY_CATEGORY()
End Sub
Sub DISPLAY_CATEGORY()
ddlCatogory1st1.DataBind()
ddlCatogory1st1.Items.FindByValue("A").Selected = True
End Sub
When I run this page I get
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 222:
Line 223: Sub DISPLAY_CATEGORY()
Line 224: ddlCatogory1st1.DataBind()
Line 225: ddlCatogory1st1.Items.FindByValue("A10").Selected = True
Line 226: End Sub
Even if I take out the databind I get the same error.
View 30 Replies
May 20, 2010
I have the following code:
[Code]....
However, the wrong option is selected, and when I view page source, it renders like this:
[Code]....
Why is this occurring?
View 3 Replies
Feb 8, 2011
I have a problem in setting the selected index /value in a drop down list. The list is bound by a Linq query and I want to add an item at the top of the list and set it as the selected item.
THis is the code i am using
ListItem li = new ListItem("Select", "", true);
list.DataSource = (from ap in edc.Approvers
where ! ap.approverEmail.Equals("")
orderby ap.approverEmail
select new {ap.approverEmail}).Distinct();
list.DataTextField = "approverEmail";
list.DataValueField = "approverEmail";
list.DataBind();
list.Items.Add(li);
list.Items.FindByText("Select").Selected = true;
The listItem li is the item i want to be first in the list and also selected. Adding this before the databind just loses the item.
View 2 Replies
Oct 21, 2010
Im using asp.net mvc 2. I have a model Supermodel that consists of 2 models TestModel1 and TestModel2. In SuperModelView Im doing the following thing:
<%: Html.DisplayFor(x=> x.TestModel1, "TestModel1Template") %>
Its working just fine, except for the fact, that dropdownlist is populated but selected value is not set.Im using the following code for a dropdownlist in my template:
<%: Html.DropDownListFor(x=> x.Property1, (IEnumerable<SelectListItem>)ViewData["MyDDLList"], Model.Property1) %>
and its not setting the selected property. I put the code below to SuperModelView, that calls <%: Html.DisplayFor To populate the template and it works just fine.
<%: Html.DropDownListFor(x=> x.TestModel1.Property1, (IEnumerable<SelectListItem>)ViewData["MyDDLList"], Model.TestModel1.Property1) %>
UPDATE: I`ve tried to investigate the issue, but something is totally wrong. I can share the whole code, not sure where to put it, here or attach with separate files.
@Darin, what other parts should I share, or just share the whole model view and controller files?
View 1 Replies
Jan 14, 2011
so I have the following html.dropdownlist;
[Code]....
how do I get the value/item selected in my controller?
View 3 Replies
Feb 7, 2010
I have a MVC dropdown list (Html.DropDownList) with list of Movies populated. I want to retrieve both Title(value field), Description(Text field) when I perform the form Submit. I can access the Title(value field), but I can't access the description. My code sample is below.
[Code]....
public string CinemaName { get; set; }
View 4 Replies
Mar 8, 2011
For reasons outside my control I have a table containing input and select fields built using regular HTML with the runat="server" attribute (as opposed to standard ASP.NET controls). I am trying to set a value to be selected when the page is loaded based on values being passed from the Session (again, factor outside my control).
Setting the Selected property of the list item does nothing and doesn't select the item in question. How do I achieve this?
The code is basically this (names generic-ized):
HtmlSelect dropdownList = ((HtmlSelect)myTable.Rows[0].Cells[5].FindControl("DropdownList");
DataSet allListItems = this.GetDefaultListItems();
foreach (DataRow row in allListItems.Tables[0].Rows) [code]....
the Select portion doesn't work, although it gets executed on the proper item. Should this code be called in a specific event? I believe it's being called in Page_Load; should it be called in Pre_Render instead?
View 2 Replies
Apr 15, 2010
I 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>
View 2 Replies
Sep 6, 2012
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
View 1 Replies
Jan 11, 2011
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].....
View 2 Replies
Dec 17, 2012
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 Replies
May 7, 2015
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.
View 1 Replies
Jan 11, 2011
I'm working with a simple MultiSelectList on C#.
I just want to populate this MultiSelectList with some string values (not a pair such as <"Key", "Value"> just <"Value">) and set some selected items.
Here's my code:
IEnumerable<string> ubicaciones = new string[] { "NEGOCIOS", "TERRITORIOS",
"LOCALIDADES" };
IEnumerable<string> ubicacionesSelected = Ubicaciones.Split(',');
UbicacionesPermitidas = new MultiSelectList(ubicaciones, ubicacionesSelected);
IEnumerable<string> transacciones = new string[] { "CARGA: ACCESORIOS",
"CARGA: EQUIPOS", "ASIGNACIONES", "DESINCORPORACIONES",
"PRÉSTAMOS", "TRASLADOS", "SALIDAS" };
IEnumerable<string> transaccionesSelected = Transacciones.Split(',');
TransaccionesPermitidas = new MultiSelectList(transacciones,
transaccionesSelected);
However, is not working... (it shows all the values on the MultiSelectList but it doesn't show any item selected) what am I missing
View 1 Replies
Mar 6, 2011
Currently I'm setting the background color of the row being edited by doing the following in the edititemtemplate.
<tr id="row" runat="server" enableviewstate="true" style="background-color: #5CB8DF">
A sorting requirement changed and the client wants to have the last edited record appear at the top of the listview. So after the save, the ListView is getting updated as I am using AJAX and not taking it out of edit mode. If the record the were editing was #3 in the list, it would move up to the first row now, but the ListView is still highlighting row 3.
I am capturing a GUID in just setting it to "display:none" on the tag. So I have a unique to work with if I need to. Is there a way to accomplish this in C# code-behind?
View 1 Replies
May 5, 2010
I have a CascadingDropDown on an ASP.NET page. Now, the prompt text is "Select State". (list of states). However, on a different version of this page (ie querystring), i might want to set the selected index to "California" for example. How can i do this? The web service used by the ajax control (ie GetStates) gets invoked at the same time the jquery document.ready function is triggered (ie asynchronously).
So when i try and set the selected index in jquery, the items are not yet bound. Is there a way to attach a handler to the ajax dropdown so that i can set the selected index once the webservice call has completed, and the items are bound?
View 1 Replies
Aug 27, 2010
I have a modalpopup control which has a gridview and search criteria. User selects a records and clicks modalpopup ok button ( which is set as modalpopup's okbutton). I have attached an event to okbutton click event. and inside this event, I am setting a label control which in on main page which called this modalpopup. I debugged code, it comes inside that event but doesnt set value. below is my event code.
protected void btnOkCustomers_Click(object sender, EventArgs e)
{
Int32 CustomerID = Convert.ToInt32(GridView2.SelectedDataKey.Value);
orders = new Orders();
DataSet CustomersDs = orders.GetCustomerById(CustomerID);
lblCustomerName.Text = "sadasdad"; // CustomersDs.Tables[0].Rows[0]["first_name"].ToString();
HyperLink2_ModalPopupExtender.Hide();
}
View 2 Replies
Apr 27, 2010
I have a CheckboxList that seems to load and do everything right, except for when I do a postback, it will not have the Item.Selected property set. I have viewstate disabled for the entire page.
I load it like so(inside Page_Load on every load):
foreach (DataRow service in d.Tables[0].Rows)
{ [code]...
and MyLabel never has any text added to it. I can verify with the debugger that it does reach the _Click's foreach loop, but no item is ever selected. What could be the cause of this?
View 1 Replies
Jul 29, 2010
I am not trying to achieve anythign fancy but just trying to set default selected value for one of the dropdown that I am using. for that I am doing Items>selected= true for whatever item I want selected when i load the page. In my case, it is a month dropdows and I am selecting date 14 as selected default value out of all 30 values but somehow, out of the blue .NEt decides to show me 29 instead of 14. I am not sure if there is some another setting that is overwritting this value.
View 2 Replies
Nov 26, 2010
I am binding months to a list 0-13 items default selection is 0 months duration, and years 0-8 items and 0 years is the default selection.As I know there are always going to be 12 months in a year, I could use selectedvalue or selectedindex without any perceived problem. Is there a reason why I should not use either/or of the two properties to select a list item?
View 2 Replies
May 1, 2010
<%= Html.DropDownList("couriers", Model.Couriers, "--Select--")%>
will show a drop down with --Select-- as the first text im the drop down
Now its value rendered is ""
how can i set its value to "0"
View 3 Replies
Nov 10, 2010
I have a master page (Site.master) with a navigation menu linked to a datasource (Master.sitemap). I have a nested master page that has another navigation menu. For any item clicked in this nested navigation menu, I want a particular menu item in the Site.master navigation menu to be selected.
Here's my Site.master menu:
[Code]....
In my Site.master.cs I have this:
[Code]....
In the nested master page, Products.master I have this:
[Code]....
In the Products.master.cs file I try to change the selected item.
[Code]....
The master navigation and products navigation menus work just fine by themselves. But when I've tried to set the selected item of the master menu in the Page_Load above, I can't seem to access it. What I've found in trying to do this is the NavigationMenu seems to be uninitialized. The menu Items list is empty. What am I missing here? Why are there no menuItems in the Master.NavigationMenu control?
View 2 Replies
Dec 21, 2010
I have looked high and low and have not found what I need or found something that could work but it was old and did not work. I have a datalist (in an update panel) that contains 2 dropdownlist (Categories and Sub Categories) being populated by CascadingDropDown. What I want to do is set the selected index of the First one to the value I get from the Database after populating it in the web service. Then based on that I would like to adjust the 2nd dropdown for the new selected index. Here is the ui code
[Code]....
I saw a post about CascadingDropDownProperties using Atlas but I cannot seem to find anything about the AtlasControlKit anymore (is it part of AjaxControlKit?)
View 1 Replies
Nov 15, 2010
i have a setup.aspx page where in i select the theme with buttons so if i click on a button the theme should reflect in all of my pages of project.so how can i write the code do i need to call it in each page.how can i set the initial page to do so.
View 7 Replies
Jan 8, 2010
I binded the dropdown from the table Languages, now it shows all the languages:
ViewData("Languages") =
New SelectList(objLang,
"SysLanguageID",
"LanguageName")
Now when I click the edit then the dropdown should show the selectedvalue based on the languageId that is in stored in the Preferences table under the user.If i give the third parameter as the selectedvalue it is showing the selected value but it is not showing the other languages.
View 10 Replies