Databinding - Binding To A Property That Is An Array Of Custom Types?
Jul 16, 2010
I'll use Customer and Addresses as an example rather than explain my real objects. Say I have a repeater bound to a collection of Customers and one of the properties of Customer is an array of addresses. How do I bind to the addresses property? I don't even need to display this information I just want to use it in the Repeaters ItemDataBound event. So I tried to bind a hiddenField to the addresses property but all I get for every customer in the hiddenfields value is an empty array of addresses.
I have an ASCX that inherits from a WebControl that has a 'CustomConfiguration' property of type CollectionConfigurationItem. This configuration gets set elsewhere in the code, so by the time it gets to the ASCX it is set up to how I wish to use the data. At this point I'd like to render out another control using this configuration, like so:
However, breaking into DataModule always results in 'CustomConfiguration' being null, which is the default value for the property. I've tried adding a Bindable attribute to the property but to no avail, and when I set an EventHandler for the DataBinding event on the DataModule it doesn't even get called.
How can I set this custom-class-typed property from the markup or, failing that what's the second-best method of getting this to work?
The user control has public properties named accordingly and the page has protected properties accordingly which I've verified have the desired values.
For some reason the values are always empty strings or 0s in the usercontrol, no matter what the page property is.
I have developped a usercontrol, but I can't seem to find how to databind on a property of the usercontrol in a detailsview.The property is defined this way:
<Bindable(True, BindingDirection.TwoWay)> Public Property Value As String Get[code].....
I have a gridview databound to an objectdatasource. Everything worked great until I changed 2 columns from asp:BoundField to asp:TemplateField. These are the UPC column and the Part column. I wanted to show a link button for each of these fields that take the user to another page. Now asp.net expects these two fields to be parameters on the update store procedure. Why is this? How do I get it to not assume these columns need to be passed to the store procedure?
What I want to achieve is the ID of the property: item.Item.ID to be bound to the ID from the (route)URL. However I can't get it to work. I tried using [Bind()] attribute.
I fixed it now using a hidden field in the form like so:
<%= Html.HiddenFor(model => model.Item.ID)%>
However this feels a bit icky. I'd like to know if there is a better cleaner way of doing this?
using sqldatasource with a listview to insert and show results from an SQL server db i want to try using the LINQ datasource since it seems to be more flexible in codebehind.
My problem is this: i droped a listview control to the page and i created the Linq datasource in codebehind with vb. the issue that i am having when i ..Select d.columms name i get the error system.string does not contain a property with the name "columname".. if i ommit the column name then its works fine.. i get the error.. code below:
vb code
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim rowsCount As Integer Dim showSearchForm As String showSearchForm = Request.QueryString("tab") If showSearchForm = "1" Then
[code]....
b.dbMake needs to work so that i can use Distinct ,, ia m using asp.net version:3.5 and IIS version 7.0 .. not sure what i am missing ,, but i did try alot of approaches,,1- checked the web.config file and it seems to have two assemblies and two namespaces for LINQ..2- used different databinding syntaxs,,and i searched a lot for the solution.. the last one i read the person ommited the name of the column,, i thought that wasnt the best solution.. also my dbMake column is comming up in the "intellisence" ..
Quick question here. I'm sure it's possilbe, just can't get it to work.
I've got a gridview. In have a gridview. The gridview is bound to a list of my custom class. The class exposes a link to an image as well as the image's height and width. I have a Image Control in the gridview. I've bound the Image Url to the correct property. Now, I'd like to bind the height and width properties as well. But everytime I do that I get the following error:
Cannot create an object of type 'System.Web.UI.WebControls.Unit' from its string representation '"<%#Bind("GetImageHeight()")%' for the 'Height' property.
DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'p2_area_name'.
Description: An unhandled exception occurred during the execution of the current web request. review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'p2_area_name'.
Also, I need tp populate data from database in the Area dropdown but not able to do so..
I am having a problem about my gridview when it binds to an accessdatasource.
The error appears:
"DataBinding: 'System.Char' does not contain a property with the name 'Firstname'."
Here's my gridview:
[Code]....
Here's my code behind:
[Code]....
The error occurs when the selected index of the DDL is 1 and I have to bind it in an accessdatasource. First condition is working fine where I will check a value and put all items that matched the date criteria in a data table and then bind gridview in the data table.
The error is just when I bind my gridview in the accessdatasource.
AccessDataSource1.SelectCommand = "Select Firstname,Middlename,Lastname,Jobseeker.IdNo,SchDate,Time,Venue,JobPosting.JobCode,JobTitle from JobPosting INNER JOIN (Jobseeker INNER JOIN ApplicationProgress ON Jobseeker.IdNo = ApplicationProgress.IdNo) ON JobPosting.JobCode = ApplicationProgress.JobCode where PostingHr = " & Session("Id") & " and SchDate = '" & Date.Today.ToString("dd - MMM - yyyy") & "' " GridView1.DataSource = "AccessDataSource1" GridView1.DataBind()
Can we use a 2 dimensional array to bind it in our form? In my model I have this: public class EmailDetails { public string[] emailTo { get; set; } public string[,] emailFieldValues { get; set; } }
So in my form to bind the emailTo is simple and this one works: <input type="text" id="Text1" title=" " name="emailTo" maxlength="100" /> <input type="text" id="Text1" title=" " name="emailTo" maxlength="100" />
I need a 2 dimensional array so that I can match the value with something, like this:<input type="text" id="Text1" title=" " name="EmailDetails["@name",valueofinput] maxlength="100" />
I have this array: string[,] productData = new string[5,7]; I bind it to a repeater and a call a method like: <img src="<%# getPhoto1WithReplace(Container.ItemIndex) %>" Which is defined like: public String getPhoto1WithReplace(Object itemIndex) { int intItemIndex = Int32.Parse(itemIndex.ToString()); if (productData[intItemIndex, 3] != null) return this.ResolveUrl(productData[intItemIndex, 3].ToString()); else return String.Empty; } I do not understand why it calls getPhoto1WithReplace with itemIndex as 5. My array has 5 indexes: 0,1,2,3,4, so How Container.ItemIndex can be 5?