MVC :: Set DataValueField Of SelectList When Binding To A List?
Jan 14, 2010
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");
and I want my html to be:
<select>
<option value="apple">apple</option>
<option value="orange">orange</option>
</select>
View 2 Replies
Similar Messages:
Jan 5, 2011
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?
View 1 Replies
Aug 20, 2010
why SelectList dont have a default constructor new SelectList()
View 1 Replies
Jun 1, 2010
I have my class RoomType:
Int32 Id
String Name
String ColorCode
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).
View 3 Replies
Dec 1, 2010
I have a class with all different kinds of data members, including a list of strings. When I bind the data to a GridView, I want to be able to separate out the list of strings into different columns in the GridView. These strings are more like flags, there is a max of 3 flags. The list could be empty, if no flags apply, or it could contain only one or two flags. How can I separate out these flags into different GridView columns? Do I need to do it in the OnRowDataBound event?
Current, my aspx code looks something like this. I want to be able to change the ImageUrl of the Image controls based on if the flag is raised or not.
<asp:TemplateField HeaderText="Tax" SortExpression="Tax"> [code]....
View 1 Replies
May 13, 2010
this is my class
[code]....
hope my Question is clear.
View 2 Replies
Apr 29, 2010
I am trying set up a simple dropdown list but I dont seem to be able to get it to bind to the Model. I am using Asp.Net MVC and nhibernate.
My dropdown list is declared like so:
<%= Html.DropDownListFor(model => model.Project, (IEnumerable<SelectListItem>)ViewData["Projects"], " -- Select -- ", new { name = "Project" })%>
I set up the select list like so:
ViewData["Projects"] = new SelectList(projectRepository.GetAll(), "EntityGUID", "Name", editEntity.Project);
This seems to bind the select list to the Dropdown fine, but the SelectedValue is not set.
it shows up as the default --- Select ---
Also when I save this data, the dropdown does not bind to the model, I have to manually set the object like so to save it:
entity.Project = projectRepository.GetById(new Guid(Request["Project"].ToString()));
I believe I have take the correct messures to have this item bind directly to my model. Is there something I am missing here?
View 2 Replies
Aug 31, 2010
I am working in asp.net 3.5 page, where I want to bind a textbox with generic list data. And I have Previous & next button. Which will show the record in textbox.
I don't want to go in db again and again.
View 6 Replies
Mar 3, 2010
I have a Drop Down List which I need to bind to the database. Here is the situation. I am not using a SQLDataSource. It is built on the n-tier application. The datasource of the dropdown is referring to a method in the C#class. That method has a generic array list which populates information into the arraylist. The Arraylist is the parameter that is returned to the DropDown List.
I have also set the Text property of the Drop down list
Text='<%DataBinder.Eval(Container.DataItem,"Employee_ID")%>'>
However, it is not populating the DropDown list, what should I do?
View 14 Replies
Jan 20, 2011
List<business.clspluginsprp> objprp = new List<business.clspluginsprp>();
business.clsplugins obj = new business.clsplugins();
for (Int32 i = 0; i < k.Length; i++)
[code]...
View 2 Replies
Mar 11, 2010
I keep getting this error and i just can't figure it out:
The ViewData item that has the key 'CampaignId' is of type 'System.Int32' but must be of type 'IEnumerable<SelectListItem>'.
My Controller:
//show empty form
[AcceptVerbs(HttpVerbs.Get)]
public ViewResult Index(int? CampaignId)
[Code]....
I do need to have "CampaignId" in there because I'm populating some "partial views' based on this "CampaignId" that is selected (drop down)
View 3 Replies
Jan 22, 2010
I am trying to bind the gererist list type to GridView control but for some reason its just displaying "Member"(Object name) rather then the actuakl content inside object.Any Idea why?Below i have decleared a List Type Member:
[Code]....
And the Below trying to bind with gridview:
[Code]....
View 2 Replies
Mar 10, 2011
I'll try and describe this issue, the best way I can. I have this concept binding one way (db binding) but it never seems to send the bound value back from any form controls (txbox etc).
I have a control which is basically a formview with bound controls. In this control, I have another nested control that has an innerproperty that can take 'templates' containing form controls i.e
[code]....
My problem is that the binding only works one way, the values are written to the controls inside the template (can be more than one) but the values never appear in the FormView.UpdateItem() > BoundFieldValues collection.
View 1 Replies
Aug 21, 2010
I have the following string which is a list of urls. How do I get this to work so the url shows for the selection and also is the value?
[Code]....
ArgumentNullException: Value cannot be null.
Parameter name: container]
System.Web.UI.DataBinder.GetPropertyValue(Object container, String propName) +121
System.Web.UI.DataBinder.GetPropertyValue(Object container, String propName, String format) +8
System
View 11 Replies
Mar 15, 2011
i tried reading all the articles and tried the solutions as well did not work for me.
One of the solutions i tried
Binding Generic List Array to GridView.
The new project file that I created using your tweeked sample code is below:
[code]....
View 2 Replies
Aug 4, 2010
one drop down list cointains all country list ,when we select thet particular country the other drop down list has to show all the states in that country ,this is what i am thinking to do ,can some one guide me how to do ,and give you give some reference links
View 3 Replies
Jan 12, 2011
I have a table Person (in my database) which has fields like PersonID, PersonName, PersonSurname, etc. What I'd like to do is to bind the PersonName + PersonSurname (e.g. Mark Black) as values for displaying the data in drop down list and PersonID as the data identifier.
As I'm still new with Entity Framework I'm not sure how to manage to do it.
View 2 Replies
Jul 15, 2010
I am using HTML dropdown list and binding it from ViewData ,but how i can get selected value in controller.
<%=Html.Dropdownlist("ViewDataName")%>
we have define viewdata in controller.it is fetching data in dropdownlist but i am not able to get the selected value so that i can add that value.
View 1 Replies
Jun 23, 2010
I have a Gridview that displays paged results from a search query. The problem I am having is that the gridview is not displaying all the results returned from the query. For example, I can step through the code and see 6 items returned by the call to GetList(), but only 2 rows get rendered by the gridview after binding.
I am using an ObjectDataSource created in code:
ObjectDataSource ods = new ObjectDataSource();
ods.EnablePaging = true;
ods.TypeName = "Bll.InvestmentProductSvc";
ods.DataObjectTypeName = "Bll.InvestmentProduct";
ods.SelectMethod = "GetList";
ods.SelectCountMethod = "GetListCount";
ods.StartRowIndexParameterName = "PageIndex";
ods.MaximumRowsParameterName = "PageSize";
ods.EnableViewState = false;
ods.SelectParameters.Add (new Parameter("SearchString",TypeCode.String, SearchString));
ods.SelectParameters.Add(new Parameter("PageIndex", TypeCode.Int32));
ods.SelectParameters.Add(new Parameter("PageSize", TypeCode.Int32, gvSearchResults.PageSize.ToString()));
gvSearchResults.DataSource = ods;
gvSearchResults.DataBind();
The Gridview declaration:
<asp:GridView ID="gvSearchResults" runat="server" AutoGenerateColumns="False" AllowPaging="true" PageIndex="0" PageSize="50" OnPageIndexChanging="gvSearchResults_PageIndexChanging" PagerSettings-Position="TopAndBottom">
</asp:GridView>
Are there any reasons for the Gridview not to render a row and not to report an error? I have examined the data returned for the 6 items and cannot find any distinctive differences between the 2 rows displayed and the 4 rows not displayed.
View 1 Replies
Sep 3, 2010
I have the following object:
CrossTabDataObject
{
string RowName{get;set;};
int RowId{get;set;}
List<string> CellContents = new List <string>();
//Constructor..... etc.
}
I'm building a dynamic crosstab grid using GridView in asp.net 3.5
I wish to bind to CellContents[0] for dynamic column 1, CellContents[1] for dynamic column 2 (dynamic column 0 is the RowName field from the CrossTabDataObject) etc. I am using:
object boundValueObj = null;
Control ctrl = (Control)sender;
IDataItemContainer dataItemContainer = (IDataItemContainer)ctrl.NamingContainer;
boundValueObj = DataBinder.Eval(dataItemContainer.DataItem, strSelectedID);
This code is in the InstantiateIn function of the gridview as I'm creating drop down list templates in each cell of the crosstab.
I have code (not shown) that sets strSelectedID depending on the column being created.
When strSelectedID is equal to "RowName" for dynamic column [0] the DataBinder.Eval function works fine and sets boundValueObj as expected. The problem comes when strSelectedID is set to "CellContents[n]" where n is the Column Index.
DataBinder.Eval only works with properties and fields of objects. How do I get around this?
View 1 Replies
Sep 14, 2010
I'm failing at getting the selected item on a mvc dropdown list. I can't stand viewdata, and every example uses it. Here is my code,
//controller
public ActionResult Register(Models.Person APerson)
{
}
public class Person
{
public Person().............
View 1 Replies
Oct 22, 2010
I'm trying to bind a List<String> to a DropDownList in a user control. I think I'm doing the right thing, but it seems that after my code executes the bindings are cleared. Here's the code for review!
User control:
<asp:DropDownList ID="subjectNameDropDown" runat="server"/>
<asp:DropDownList ID="yearLevelDropDown" runat="server"/>
Auto-generated designed code-behind:
public partial class NewSiteMetadataUserControl {
protected global::System.Web.UI.WebControls.DropDownList subjectNameDropDown;
protected global::System.Web.UI.WebControls.DropDownList yearLevelDropDown;
}
Code-behind:
public partial class NewSiteMetadataUserControl : UserControl
{
protected override void CreateChildControls()
{
subjectNameDropDown = new DropDownList();
yearLevelDropDown = new DropDownList();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
EnsureChildControls();
// Attempt 1
List<String> subjectNames = GetSubjectValues();
foreach (var subjectName in subjectNames)
subjectNameDropDown.Items.Add(subjectName);
subjectNameDropDown.DataBind();
// Attempt 2
List<String> yearLevels = GetYearLevelValues();
yearLevelDropDown.DataSource = yearLevels;
yearLevelDropDown.DataBind();
}
}
Should this approach work? If it should, how can I debug what happens after the code executes?
View 2 Replies
Feb 15, 2010
I have a generic List which is populated with an object which has properties like FirstName, Surname etc.
If I bind a gridview to the list with autocompletecolumns = true, the Gridview displays the data in the List.
The code looks like:
[code]....
My question is:
How do I populate the DataKeyNames with the properties (FirstName, Surname) contained in the object that is contained in each element of the Generic List?
View 4 Replies
Aug 19, 2010
I've had a bit of a problem trying to bind a generic list to a repeater. The type used in the generic list is actually a struct.
I've built a basic example below:
[code]....
I then create two fruits using the struct (apple and orange). These fruits are then added to the list.
Finally, I bind the generic list to the DataSource property of the repeater...
The markup looks like this:
[code]....
I expect to see the fruit name and price printed on the screen, separated by a horizontal rule.
At the moment I am getting an error relating to actual binding...
**Exception Details: System.Web.HttpException: DataBinding: '_Default+Fruit' does not contain a property with the name 'FruitName'.**
View 2 Replies
Jul 7, 2010
I am not able bind data to the dropdownlist from database. following is code.
DataTable dtModule = BO.GetBizModel_DDL(ServiceID);
if (dtModule != null)
{
ddlBizModl.Items.Clear();
ddlBizModl.DataSource = dtModule;
ddlBizModl.DataTextField = "BIZ_MODL_NM";
ddlBizModl.DataValueField = "BIZ_MODL_ID";
ddlBizModl.DataBind();
}
dtModule.Dispose();
View 3 Replies