How To Bind A GridView To A Custom Object
Apr 1, 2011
If I have the following ASP.NET code (it's not complete - obviously there's a lot missing, but none of it matters):
<asp:GridView>
<Columns>
<asp:TemplateField>
<ItemTemplate>
My Label: <asp:Label />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
My Text Box: <asp:TextBox />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
And if I have something like this in the CodeBehind:
Private MyListOfObjects As List(Of MyObject)
...
Public Class MyObject
Public MyTextBoxString as String
Public MyLabelString as String
End Class
How can I bind the GridView so that one row is equivalent to one item in my MyListOfObjects list, and so that the data will populate and persist across page loads or postbacks? I've never done custom databinding like this before. All the tutorials I've come across so far only talk about using GridViews directly with Database query results, and that's not what I need.
View 4 Replies
Similar Messages:
Mar 23, 2010
What I'm trying to do is rather basic, but I might have my facts mixed up. I have a details page that has a custom class as it's Model. The custom class uses 2 custom objects with yet another custom object a property of one of the 2. The details page outputs a fair amount of information, but allows the user to post a comment. When the user clicks the post button, the page gets posted to a Details action that looks something like this:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Details(VideoDetailModel vidAndComment) { ....}
[Code]....
The only fields on the form that is posted are CommentText and VideoId. Here is what the VideoDetailModel looks like.
public class VideoDetailModel
{
public VideoDetailModel()
{
[Code]....
I suppose if I added more form fields for the properties I need, they would get posted, but I only need 1 form entry field for the CommentText. If I could get the same Model objects value that were sent to the page to post with the page, it looks like the solution is rather simple. I think using the RenderPartial in the middle of a form is problematic somehow to how the form gets written in html. I can't really put my finger on why things went bonkers, but if I do my RenderPartials before my form and then begin my form with the text entry field and the hidden VideoId, the default ModelBinder works just fine. I was beginning the form, writing the hidden VideoId, rendering several partial views, create my CommentText field, and then closed the form out. The CommentText field would get bound just fine. The hidden VideoId would not. Maybe I missed a rule somewhere about using RenderPartial.
For completeness, the partial view I was rendering took a Comment object and just wrote out it's CommentText data. Several of these objects would exist for a single Video object. All of this data was in a custom type and passed into the View (the main view) as it's Model. This partial view did not have a form and did not have any data entry fields.
View 2 Replies
Feb 4, 2010
I have a GridView, I bind it to ObjectDataSource. ObjectDataSource takes data from a database's table. Each row in table has unique ID.
I have a button in each row of GridView that should remove this row from database. My ObjectDataSource returns Object, this returned object contains ID (and some other information, like name, user etc.) however I do not show this ID on my grid.
how can I get these ID after user chooses to delete row, I need to know what I should remove.
View 2 Replies
Aug 2, 2010
If I have a list of contacts List<Contact> and a Contact object has an Office object property, I want to display a grid with columns
Contact Id, First Name, Last Name, Office Name
Where the sources of the above columns are respectively:
Contact.ContactId, Contact.FirstName, Contact.LastName, Contact.Office.OfficeName
I'm fine with binding the first 3, but was wondering whether I can bind the OfficeName using either Bind or Eval or whether I need to hook into the events and set the value there.
View 3 Replies
Jun 21, 2010
I have tried to query a table with an xml column by using XQuery and I can't get the Select to work.
All my knowledge/understanding of the subject comes from this MSDN article:
[URL]
so I am probably overlooking something minor:
I tried this query Select col1, Phone.Query('element CellPhone {I am not sure about what goes here} I tried {data('Phone/cellPhone} from aTable Where Phone.Exist('/Phone/cellPhone/text()[contains.,"412-8977"]') = 1 This syntax is definitely not fun.
View 2 Replies
Jul 19, 2010
I want to sort my gridview binded to an object datasource fetching business objects. I have already implemented custom paging & now want to implement sorting. Just read this article but there is lot of concatenation going on there with the SQL Query.
[URL]
View 2 Replies
Aug 30, 2010
I've scenario where I want to insert data into database without post back. there are around 12 to 13 fields which i need to insert. I'm passing DTO from the client side which is actually Json object. Now the problem which i'm facing is how to convert that Json object which i got in webservice to the "class" (in my case class name is User) object.
[Code]....
In the above case AddNewUser method takes the object of User class. But i'm getting casting error. So how do I convert Json object to the "User" class object?
View 3 Replies
Sep 29, 2010
I have the following code:
[WebMethod]
[SoapHeader("_webServiceAuth")]
public User GetUser(string username){
try
{
this._validationMethods.Validate(_webServiceAuth);
User user = new User(username);
[code]...
View 1 Replies
Dec 27, 2010
I have Create a Custom Principal and a Custom Identiy for my Web Application and upon forms authentication
1 Create a profile of type object
2 Assign it to the Principal profile
3 assign the principal to the Http.Current.User (this now has the complete profile information )
As i understand upon redirection the principal is recreated and i loose the information i had stored in the profile.
I there a way to persist the profile information ?
I though can achieve persisting some information using FormsAuthenticationTicket in userData but that wouldent solve my purpose ..
View 7 Replies
Apr 16, 2010
I have created my custom MembershipProvider. I have used an instance of the class DBConnect within this provider to handle database functions. Please look at the code below:
public class SGIMembershipProvider : MembershipProvider
{
#region "[ Property Variables ]"
private int newPasswordLength = 8;
private string connectionString;
private string applicationName;
private bool enablePasswordReset;
private bool enablePasswordRetrieval;
private bool requiresQuestionAndAnswer;
private bool requiresUniqueEmail;
private int maxInvalidPasswordAttempts;
private int passwordAttemptWindow;
private MembershipPasswordFormat passwordFormat;
private int minRequiredNonAlphanumericCharacters;
private int minRequiredPasswordLength;
private string passwordStrengthRegularExpression;
private MachineKeySection machineKey;
**private DBConnect dbConn;**
#endregion
.......
public override bool ChangePassword(string username, string oldPassword, string newPassword)
{
if (!ValidateUser(username, oldPassword))
return false;
ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, newPassword, true);
OnValidatingPassword(args);
if (args.Cancel)
{
if (args.FailureInformation != null)
{
throw args.FailureInformation;
}
else
{
throw new Exception("Change password canceled due to new password validation failure.");
}
}
SqlParameter[] p = new SqlParameter[3];
p[0] = new SqlParameter("@applicationName", applicationName);
p[1] = new SqlParameter("@username", username);
p[2] = new SqlParameter("@password", EncodePassword(newPassword));
bool retval = **dbConn.ExecuteSP("User_ChangePassword", p);**
return retval;
} //ChangePassword
public override void Initialize(string name, NameValueCollection config)
{
if (config == null)
{
throw new ArgumentNullException("config");
}
......
ConnectionStringSettings ConnectionStringSettings = ConfigurationManager.ConnectionStrings[config["connectionStringName"]];
if ((ConnectionStringSettings == null) || (ConnectionStringSettings.ConnectionString.Trim() == String.Empty))
{
throw new ProviderException("Connection string cannot be blank.");
}
connectionString = ConnectionStringSettings.ConnectionString;
**dbConn = new DBConnect(connectionString);
dbConn.ConnectToDB();**
......
} //Initialize
......
} // SGIMembershipProvider
I have instantiated dbConn object within Initialize() event. My problem is that how could i dispose off this object when object of SGIMembershipProvider is disposed off. I know the GC will do this all for me, but I need to explicitly dispose off that object. Even I tried to override Finalize() but there is no such overridable method. I have also tried to create destructor for SGIMembershipProvider.
View 2 Replies
Feb 11, 2010
Is there an easy way to populate my C# Object with the JSON object passed via AJAX?
//This is the JSON Object passed to C# WEBMETHOD from the page using JSON.stringify
{"user":{"name":"asdf","teamname":"b","email":"c","players":["1","2"]}}
//C# WebMetod That receives the JSON Object
[WebMethod]
public static void SaveTeam(Object user)
{
}
//C# Class that represents the object structure of JSON Object passed in to the WebMethod
public class User
{
public string name { get; set; }
public string teamname { get; set; }
public string email { get; set; }
public Array players { get; set; }
}
View 4 Replies
Nov 14, 2013
This is My Method, How to get Checkbox Value from Gridview and adde that value inti list?
private List<ActivityList> PopulateData() {
string ActivityCode = string.Empty;
string ActivityName = string.Empty;
List<ActivityList> list = (List<ActivityList>)Session["ActivityToStudent"];
List<ActivityList> listObj = (List<ActivityList>)Session["ActivityToStudent"];
for (int j = 0; j < listObj.Count; j++)
[Code] ....
View 1 Replies
Dec 10, 2010
I am trying to bind the dynamic object using TryUpdateModel(); but it works for first class member but it is not updating the properties of object which are referenced to model.
View 4 Replies
Feb 17, 2011
I'm a junior ASP.NET developer comes from Java background, so may be my question is strange.
I want to build an ascx (asp control) which accept an object as parameter for example :
1- we have a class called Device ( Contains some properties name, color , Specification (another object))
2- we have a control DeviceItem ( Contains Table to view some of the Device properties value ) and contains a property called Device
if the devices object retrieved from the Database and we have an object called device1 from Type Device
is there a direct way to pass the Device object (device1) to the DeviceItem control, some thing like :
<uc1:DeviceItem ID="DeviceItem1" runat="server" Device="THE_DEVICE_OBJECT"/>
and then bind this object to the controller, to show some properties value?
View 4 Replies
Nov 3, 2010
I want to bind TreeView control with List object. This List object will be creatd by data that got from database.But, the problem is I can't bind this TreeView with List. It shows the exception "HierarchicalDataBoundControl only accepts data sources that implement IHierarchicalDataSource or IHierarchicalEnumerable."
View 5 Replies
Nov 27, 2010
When using a databound control the Bind() method does some magic to first extract the current value from the datasource and then pass an update back to the datasouce when an update is performed.
Now I have created a custom datasource and am supplying my own custom data which all works fine. For read only the following code works a treat. As you can see I am accessing both a named index into the collection and a property.
Now when using Bind() I cannot find a way to accomplish this. Bind() would appear to look for either an object property or a database row column (not sure how it does this) and I cannot find a way to change this.
It shouldn't be that difficult because the hard part is obtaining the data, which my code below can already do. The changes are passed back as a dictionary which should be simple. But I need a way to write my own bind method and I haven't managed to find out how.
Code:
Surname : <asp:TextBox ID="TextBox2" Text='<%#((MyCustomDataRow)Container.DataItem)["Surname"].EditDataString%>' runat="server" />
View 10 Replies
Nov 14, 2010
I'm trying to figure out how to bind an EF4.0 object to my textbox control. I have a call to my business object that returns an entity CFUser that has a FirstName parameter on it of type string. However, after I make the call and bind the object, the codebehind executes which fills the BindUser property with the correct value. However, nothing shows up in the textbox.
my aspx side is
[Code]....
View 4 Replies
Oct 21, 2010
I have dropdown in the aspx page. I am calling JQuery on dropdown chnage and JQuery is calling GenericHandler.ashx . The Handler is retuns Serialize JSON string. I ned to bind my Repeater control with this JOSN object. here I am giving my sample aspx page code
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
[Code]....
View 10 Replies
Dec 13, 2010
am having a class which contains user defined data type property. I have created an instance of that class. When I bind that object of that class to DetailsView it is showing all properties except user defined data type property. Here is the sample code.
public class Customer
public string CustomerName { get; set; }
public int Age { get; set; }
public Address CustomerAddress { get; set; }
}
Address class looks like
public class Address
{
[code]...
View 1 Replies
Mar 17, 2011
I've got a Dictionary<string, string> object I'm creating:-
[Code]....
and I wanted to bind this to a dropdownlist. I know this is possible in code-behind, but is it possible to do this directly on the asp: control, something like
View 8 Replies
Nov 9, 2010
how to bind video object to gridview.
i have tried this
<asp:Label ID="lblAns" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Answer")%>'></asp:Label>
but it is not working.
View 3 Replies
Aug 12, 2010
I use a DetailsView to update data using an object data source. Everything works fine except the date time values
following is a the code of the object datasource and the details view binding:
[Code]....
when data reach my BLL class to update the fields the project id and project Title have the expected binded values from the details view edit template textboxes but the date value is the value of the item tempate's label box (EVAL)
View 2 Replies
Feb 21, 2011
how to bind the data to custom control.
ex. i had create a custom control that consist of a TextBox and a Button. how do i tell the aspx to bind the data to the TextBox in custom control like in usual aspx
<asp:TextBox ID="AcNoTextBox" runat="server" Text='<%# Bind("AcNo") %>' />
View 8 Replies
Dec 26, 2010
i want to create a dropdown control in which i want to bind data from my webservice, i know i have to create a custom server control with inherrit the System.Web.UI.WebControls.DropDownList in my class.
my problem is that i dont know how to bind data(say a datatable dt) from dt and further disable the datasource property and item.insert property so that no other data could be enter in this control.
View 3 Replies
Feb 18, 2011
I have been facing this problem for a while now, what I exactly want to do is ->
I have a 3- Tier Application. For a table (say Employee) I have following classes in my BLL and DAL
1. Employee.cs (Contains database fields as properties)
2. EmployeeKeys.cs
3. EmployeeFactory.cs (Main BLL which make call to DAL method)
4. EmployeeDAL.cs (The DAL)
Suppose I have 6 columns in Employee table.
I know that the DAL returns List<Employee> to the BLL and then the BLL in turn gives me the Employee fields.
I have no problem accesing it.
But suppose I have a dropdownlist control and wish to bind EmplyeeName and EmployeeId with the Dropdown.
Is there any way that I can implement that my DAL returns a Generic list containing only the two fields required to bind the Dropdown.
In short i want my list to return only 2 columns, not all the 6 like the List<Employee>
How do i implement this???
Do I need to create a custom List<CustomEmployeeData>, if so how can i implement it in the 3 tier application.
Basically i m looking to increase the efficiency by getting less data from database. Am i on the right track????
View 2 Replies