I had been building my SelectLists in the View, but I found examples doing it in code that I liked better. Now I'm creating one of my SelectLists like this:
[Code]....
And all is good, but I'm not sure how to do two things. First, I'd like to add an initial SelectListItem that prompts the user to select a value. When instantiating the SelectList in a loop this is easy, but I was hoping to keep this approach. The second problem is setting the default selected item. In the constructor it shows the 4th parameter to be used for this purpose, but I'm not certain how to do it. There's a property of this object named "DefaultView". It's a boolean, and I'd like that to determine the selected state. Is this possible?
I have a C# web page that allows the user to select an object from a DropDownList. Each object in the list has its own class. On the user making a selection information appears on the page that is generated from its respective class.
How do I instantiate a class depending on the users selection? I could use a switch statement that would instantiate anyone of the classes pending the dopdownlist.selecteItem value, however I was hoping to avoid that.
In that i have a seperate class file(.cs). I want to instantiate that class inside the aspx.cs file. I'm able to do that if i put the class file in appcode folder but not able to do if i place the class file outside the appcode folder. kindly let me that whether is it possible to instantiate a class that resides outside the appcode folder?
In looking at the constructors for the System.Drawing.Font class there is a parameter to pass in one of the FontStyles defined in the System.Drawing.FontStyle enum.
ie.
Bold Italic Regular Underline
and there are boolean properties for Bold, Italic, Underline etc. in the instantiated object, but they are read only.
What if I want to define my font to have multiple styles like Bold and Underline?
I hate to see the name of the class used as a string parameter like "FileDownloader" in the code, and I would like to use something like this FileDownloader.Name(), where FileDownloader is name of the class. Only problem is that I can't find out how to do that without instantiating object or creating a static method...
Is there a way to get a class name in .net without having the object instance and without creating a static method that returns the name of the class?
I'm working on a MVC3 web application. I want a list of categories shown when editing a blo from whe applications managements system. In my viewmodel i've got the following property defined for a list of selectlistitems for categories.
/// <summary> /// The List of categories /// </summary> [Display(Name = "Categorie")] public IEnumerable<SelectListItem> Categories { get; set; }
The next step, my controller contains the following edit action where the list of selectlistitems is filled from the database.
public ActionResult Edit(Guid id) { var blogToEdit = _blogService.First(x => x.Id.Equals(id)); var listOfCategories = _categorieService.GetAll(); var selectList = listOfCategories.Select(x =>new SelectListItem{Text = x.Name, Value = x.Id.ToString(), Selected = x.Id.Equals(blogToEdit.Category.Id)}).ToList(); selectList.Insert(0, new SelectListItem{Text = Messages.SelectAnItem, Value = Messages.SelectAnItem}); var viewModel = new BlogModel { BlogId = blogToEdit.Id, Active = blogToEdit.Actief, Content = blogToEdit.Text, Title = blogToEdit.Titel, Categories = selectList //at this point i see the expected item being selected //Categories = new IEnumerable<SelectListItem>(listOfCategories, "Id", "Naam", blogToEdit.CategorieId) }; return View(viewModel); }
When i set a breakpoint just before the view is being returned, i see that the selectlist is filled as i expected. So at this point everything seems to be okay. The viewmodel is filled entirely correct. Then in my view (i'm using Razor) i've got the following two rules which are supposed to render the selectlist for me.
When I run the code and open the view to edit my blog, I can see all the correct data. Also the selectlist is rendered correctly, but the item i want to be selected lost it's selection. How can this be? Until the point the viewmodel is being returned with the view everything is okay. But when i view the webpage in the browser, the selectlist is there only with out the correct selection. What am I missing here? Or doing wrong?
I cannot get my code to work with the usual workarounds. I have a model which exposes a SelectList and a value for the selected item in it. The list is built like: new SelectList(persons, "Id", "Name");
where persons is an array of type Person with a *string* property named Id and a string property named Name. My model has a SelectList property returning a list built as shown, and a SelectedPersonId *string* property which should be updated by the dropdown. Here's my view code:
I can see the persons in the dropdown and select one item, but the model's SelectedPersonId property never gets updated (I get a null). Of the two workarounds I found googling around, one stated to build the SelectList in the model, using the constructor shown above; another recommended to ensure that the selected value is a string. I did both, but still it does not work.
I have written an Enum extension method that allows me to create a view model and allows me to easily bind a generic Enum to a SelctList like:this.ProductStatusList = new ProductStatusTypes().BindToSelectList<ProductStatusTypes> (product.Status.ToString());
In my View I can then have:
<% using (Html.BeginForm()) {%> <fieldset> [code]...
Notice I am using EditorForModel and then a seperate DropDownList. My question is: Is there a way to get the EditorForModel to be clever enough to pick up that I want to use a SelectList instead of a TextBox for status?
I'm having problems retrieving the values of a selectlist in my form collection. I've tried making a viewmodel with an attribute with the same name as the select list.
I'm honestly just realizing I REALLY don't understand how model binding works with selectlists. I've just been assuming that the following conventions apply:
Name the select list the same thing as the attribute on the model you want it to bind to. Apart from that, I really don't get it. I've looked at several books on it and they're useless frankly. How does a select list work with a) form collection and b) a particular model?
What do I use to set the dataValueField of the Select List when I'm using a list of strings. I want to be able to set the value of the option in the select. If i have:
List<string> list = new List<string>(); list.Add("apple"); list.Add("orange");
I can currently populate and display a Drop Down using the following model annotations, viewmodel, and custom Editor template - but am having problems persisting the submission (more on that below):
//Domain Public class Person { public string FirstName {get;set;} public string LastName {get;set;} public string ClassName {get;set;} public int ClassId {get;set;} ... } //ViewModel Public class PersonViewModel { public Person Person {get;set;}
Like I mentioned, the above works fine - as in the drop down is displayed properly, but obviously in its current state it's not saving the classID (or name) to the Person entity, I understand the problem but not sure how to fix it.
My questions:
How can I save the selected value from the drop down to the Person entity How can I save both the ID and the Name into the Person entity - I'm guessing only way is a hidden field that gets populated with an onchange event (this sounds weird, I'm sure, but it's being stored in a document DB, so it's not normalized - I may just store Name in the end)
<%@ Page Language="javascript"%>'m writing a website that's a little heavy on the database connection calls, so I've decided to try to encapsulate it in a Javascript pseudo-class. When I try to instantiate the MySqlDataAdapter, I get the error "Format of the initialization string does not conform to specification starting at index 0." While I can appreciate this, I've used the same connection string (more or less) across many pages now, without issue when I'm not trying to use this class.I'm a little confused - does anyone have any idea why line would be throwing this error?
My viewmodel gets a List<Roomtype> RoomTypes which should be displayed in a dropdown.
Each dropdown option item should have: 1) as title the Name, 2) as value the Id, and 3) the style background-color #ColorCode.
My problems are how to convert this list correctly into a List<SelectListItem> as required by ASP.NET MVC's DropDownFor helper, and then to have the correct values inserted for each option.
I've tried to have a new readonly property in my viewmodel, which has a getter RoomtypeSelectList which returns new SelectList(RoomTypeList) but I can't get the correct properties to show (Name, Id, Background color).
If i've the button outside an update panel (basically i'm using RadAjaxPanel by Telerik) it is working fine. But when the button is inside an ajax panel, even if i click OK for deleting the records the server side code is not called.
I'm missing a the code browser when I create pages that have the code not placed in a seperate file. For pages with .asp.vb files I get the browser correctly.
I think it's called a code browser but just in case it's not I mean the dropdown that shows Page Events, Buttons and other controls that can be selected along with their events.
How do I turn on those dropdowns for pages with code behind that uses <script> tags in the actual .aspx page?
Included (Showing page events just under the tab):