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.
I'm new in ASP.NET MVC 2 and I'd like to write a very simple dropdown list which gives static options. For example I'd like to provide choices between "Red", "Blue", and "Green".
I am looking at ASP.NET MVC2 and trying to post a complex object using the new EditorFor syntax.I have a FraudDto object that has a FraudCategory child object and I want to set this object from the values that are posted from the form.Posting a simple object is not a problem but I am struggling with how to handle complex objects with child objects.I have the following parent FraudDto object whcih I am binding to on the form:
public class FraudDto { public FraudCategoryDto FraudCategory { get; set; }
Learning about dropdown lists, Im trying to add a RSVP create page for nerddinner as in Scott Gu's blog with a Html.DropDownListFor listing available dinners. I can get the dropdown list populated but I cannot get the dropdown to pre select the value ("Sample Dinner 2") I want. Im using an initilizer to seed a few dinner objects in the db. The database is sql ce 4 using a EF 'code first approach'. Sorry I know this is a v common problem and hate to ask, but honestly have spent quite some time on this but cant get it to work:
ViewModel
public class RSVPViewModel { public SelectList DinnersList { get; set; } public RSVP Rsvp { get; set; } public string SelectedItem { get; set; } } [code]...
So is not preselecting the dropdownlist with the value "Sample Dinner 2" when the page loads. The list displays ok and sets the correct DinnerID when I make a selection and click Submit.Tries this also:
but doesnt set or bind to Rsvp.DinnerID.This preselects from the list but doesnt bind (or set Rsvp.DinnerID)
@Html.DropDownList("DinnersList")
I want to keep it mvc3 so want to implement with strong type using ViewModel approach (no ViewData) and preferably using Html.DropDownListFor (not Html.DropDownList).Viewbag seems unnecessary for this case.Thinking I should be using a selectList of selectListItems I tried this verbose approach :
RSVP rsvp = new RSVP(); string selected = "2"; List<SelectListItem> dinners = new List<SelectListItem>();
foreach (Dinner dinner in dbc.Dinners.ToList()) { SelectListItem slDinner = new SelectListItem(); slDinner.Value = dinner.DinnerID.ToString(); slDinner.Text = dinner.Title; slDinner.Selected = (slDinner.Value == selected); dinners.Add(slDinner); } var dinnersList = new SelectList(dinners, "Value", "Text", selected); var viewModel = new RSVPViewModel { DinnersList = dinnersList, Rsvp = rsvp, SelectedItem = selected };
However still no work. Should I be making use of the ViewModel SelectedItem property in: @Html.DropDownListFor.. somehow? Something like :@Html.DropDownListFor(x => x.SelectedItem, Model.DinnersList)but how to I get a selected value to set Rsvp.DinnerID. I think thats called binding.
Values in multiselect dropdown not getting selected when Select All option is selected for a SSRS dropdown. There are multiple dropdowns on the page. We have one dropdown whose output is being used to populate the second dropdown using a stored procedure. When we check the Select All checkbox on the dropdown then ideally upon page refresh all the values should get selected in the dropdown, but in this case the page refreshes back to the blank dropdown, forcing the user to select the values again. The next dropdown too does not get populated. This makes it impossible to run the report for all the cases by using Select All. We ran the report on differnet database environments. My current location is Mumbai,India, the report worked fine when we ran it on a Bangalore,india database. This issue occurs when we try running it on a Chicago database server. I am using SSRS 2005, SQL2005.
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 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?
The SiteId is of the type System.Guid. When this is posted to the action of my controller, then ModelState.IsValid returns false, which is actually normal because I have this in the generated HTML:
[Code]....
How can I make sure that the first option is <option value="0"></option>?
When I create a new website in IIS and its associated application pool, I get the option of setting the .NET framework to 1.0 or 2.0.Via windows updates I have installed versions 3.0 and 3.5..however these dont show up in the drop down list.I read that the aspnet_regiis -i command needs to be run in the installed .NET framework folder for it to be visible in IIS.However, the aspnet_regiis.exe is only present in the 1.0 and 2.0 folders. Can I use the same exe to register the 3.5 framework with IIS?
I thought this would be pretty simple, and in fact it's working on another dropdownlist on the same View, so I'm hoping I missed something very small that is easy to fix. Here's my code:
[Code]....
When I step through the code, the 'Active' option's 'Selected' property is being set to true. That's expected. But when the View renders, it's not selected and a look at the page source shows that the selected property isn't set. What is the problem here, and what's the solution?
I have a list of options (IEnumerable< SelectListItem >) in my model that I want to use in multiple dropdowns in my view. But each of these dropdowns could have a different selected option.
Is there an easy way to simply specfiy which should be selected if using the Html.DropDownList helper?
At this point, the only way I can see is to generate the html myself and loop through the list of options like so:
To demonstrate that I could even use a Class attribute on an option elem I tried adding class attributes to options of a select elem in a static page and that works fine. I noticed that not many online resouces documented this so I figured I would explicitly set the record.
here is the jquery code attempting to add a class to the selected option
[Code]....
New information, I found the reason nothing occured was a simple mistake in the value being passed in for compLev. However, now it runs through the code for the correct case and does nothing to the color of the item.
I have two dropdownlists ,selecting the first dropdown causes postback and second dropdown gets binded...Why does the selected value of the first dropdown,once again selected does not cause postback?
In my controller I generated a SelectList that I pass to the dropdown helper:<%= Html.DropDownList("abc123", Model.SomeList) %>I look at the querystring for a value, which is a ID.I then loop through all the items in the SelectList and if it is equal to the ID, I do:The controller action then passes this SelectList to the view and then to the Html helper.In debug mode I can see the value does get set to true, but the html renders without selecting the item.
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.
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?
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?
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.
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?
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.