C# - How To Stop ObjectDataSource From Binding Twice
Sep 30, 2010
This has been covered a couple of times, without a suitable answer:[URL]
I have created a custom paging data class that is used with an ObjectDataSource. In intial tests, I found it was performing worse than my old SqlDataSource code. Whilst investigating, I found that for every page load, the ObjectDataSource is being created and binding twice.
Investigating the links above led me to believe this could be a bug (or unexplained behavior) in regards to changing my GridView's column visibility in the OnDataBound event like so:
I use this event to customize the display of certain fields, as well as hide columns that are not pplicable during some search types. When I disable the event, the ODS stops binding twice. I can't really think of a way to get around this behavior. Has anyone else see this issue or developed a work around?
I have an ObjectDataSource that is bound to a GridView. The object accepts a parameter from a TextBox. The problem I have is when I use a CustomerValidator with a ServerValidate event, the ObjectDataSource would still attempt to perform a DataBind despite the fact the the customer validator has returned false. The following is the code in the ASPX page.
protected void DateValidator_ServerValidate(object source, ServerValidateEventArgs args) { /Ensure that the entered data is a date. string input = args.Value; DateTime result; args.IsValid = DateTime.TryParse(input.TrimEnd(), out result); }
How do I stop the ObjectDataSource from data binding when validation has failed?
I have a Gridview which is populated from an ObjectDataSource. Data Source has a control parameter hooked up to the SelectedDataKey value of the GridView. My Gridview has rows which may not have a DataKey. I am receiving an error when a GridView row without a DataKey is selected.
I tried binding a ListBox to an Object Data Source, but I can’t get the field to show up in the Data Source Configuration Wizzard for the ListBox. I got it working programatically populating the listbox using the DataReader but I’d like to be able to use the Object Data Source (Unless there are compelling reasons not to that I haven’t heard of yet.)
CheckPara is my OnDataBinding procedure SqlDataSource1 is ObjectDataSource (it's only confusing name)
Language is Nemerle, but if you know C# you can read it easy protected virtual CheckPara(_ : object, _ : System.EventArgs) : void { foreach(x is Parameter in SqlDataSource1.SelectParameters) when(x.DefaultValue=="") //Cancel binding }
so how can I cancel binding when there is not fully configurated ObjectDataSource ? Or... how can I run binding only when I done with all parameters ?
I have an ODS control populating a Telerik grid. The ODS definition is pretty simple. It's set to call a method on a static class that has one parameter (entityID). I set this parameter in the OnSelecting event. When I test this, the world is a happy place and all is fine.
Then, I pass a query string to the page (which sets various unrelated values for the page, we'll say parameters X and Y). The page call's Telerik's radgrid.Rebind() event. When this happens, an error is throw from the ODS saying that the underlying method (the static data procedure) does not support parameters X and Y.
So, why is ODS thinking it should be using any querystring values at all when I have explicitly set the entityID parameter (of type Asp:Parameter)? How do I stop this from happening?
The Html:
[Code]....
The OnSelecting:
[Code]....
I see this odsList_OnSelecting being hit and the inspection of e.InputParameters only contains my expected single entry.
I am trying to bind a DataTable into a ObjectDataSource. This ObjectDataSource data will be used to bind into my LocalReport in ReportViewer. I have already successfully binded my data into the DataTable. My problem now is how do i bind the data in my DataTable into the ObjectDataSource so that it can be used in my report?
how can i access the my sqldatasource selected datasource for modification and adding for example new datacolumns before binding??where is the best place to perform these modifications ?i guess SqlDataSource1_Selected is the right place, but i don't know how ?
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?
I'm trying to bind both GridView and DetailsView to a single ObjectDataSource declaratively (in markup). I'm getting the error read as below when I tried to run it.
"The DataSourceID of 'DetailsView1' must be the ID of a control of type IDataSource. A control with ID 'ReservationsDataSource' could not be found."
It works when I bind GridView and DetailsView each seperately to my ObjectDataSource. Is it I can't bind two pagable data web controls to a single datasource?? or there is a trick needed to be done for this to work.
FYI, I'm trying to create a Master/DetailsView of my data. DetailsView of my application should show the record selected in GridView and it should be editable.
I have a datasource (quite heavy to run) and a Gridview on the page.
By default when the page is loaded the datasource and Gridview bind and display. However since the datasource is heavy I want on page load these 2 will not bind.
I want them to bind only on a button click. How to stop the datasource and Gridview from binding on 1st page load ?
I'm doing research on framework development for my company. SInce I will be developing a framework I can not simply declaire all my control in the code in front. Receiently I've been having trouble binding the controls from my ListView to my ObjectData Source. Basicly the properties in my DataObjectTypeName are not populated when the ObjectDataSource "Update" command is thrown. I recieve no error, I just get null values. All I need is an equivalent to this statement for code-behind ...
<%# Bind("AbstractText") %>This would solve all my issues. Ofcouse I will most likely need to bind the control's ID somewhere but that is not an issue. How do I Bind a control to a property in my DataObjectTypeName from the code-behind?
I want to bind an ObjectDataSource to a property in my asp page and I want to do it in the page's aspx code, not in code-behind. I've already done it in code-behind, as follows:
[Code]....
I'd prefer to get rid of the ugly code-behind and just do this in mark-up. Something like [Code]....
This gives me a run-time error: Cannot create an object of type 'System.Object' from its string representation 'SelectedBook' for the 'DataSource' property.Is there a way of doing this declaratively and not in code-behind? Further, what if what I want is to actually use a child property of the property in question? For example, if my Book object has a ReaderComments collection, can I databind to it decaratively in the aspx mark-up?
I have a Gridview in the markup and I add an ObjectDataSource to the mark up which will be the gridviews data source. Is this a redundant way of binding controls? I believe using this method is good for small sites with little customisation etc. but, for large sites (multi lingual, hundreds of pages etc) I have been taught to create the controls in the mark up or code behind, then bind the controls on PreRender in the code behind. My new boss thinks this method is old school and the current way of using an objectdatasource in the mark up is the best way to do it.
What's the difference between binding for example a column called ("Name") in both cases ? and is there's any performance difference ?1- Assigning the data in the mark-up
2- defining a control object for every control inside the repeater ItemTemplate and find it and then assign the data in the column "Name" to ite.Item.FindControl("Name_Lbl")
I am not too clear about the IIS lifecycle, but my general understanding is:
Every couple of hours IIS resets itself. This is apparently done so as to fix up any memory leaks, resource deadlocks etc. etc. ie. It seems to be a cleanup operation.
Every couple more hours (I think I read 23 hours) the server just stops listening to inbound requests and runs Application_End. An external page request will restart the app.
Can I get a bit more reasoning to why these behaviors occur? Especially with regards to item #2... My server runs internal scheduling behaviors which completely died last night. The reason was that Application_End occurs and no customer requests were happening to start the IIS server again. This seems weird. Why not just clean up memory leaks etc. and then keep IIS running exactly as it was?
i created an objectdatasource and bind DetailView to it.i want to set the objectdatasource.datasource to a object (for example Member class that is an Entity) it means that i want to show just one record to this with my custom method that is MemberModel.GetMemberByNationalID(string nationalID)
I have a gridview I want to populate with an ObjectDataSource.Problem is, when I use the wizard, I cannot find the page the ObjectDataSource belongs to, in the business object list. I can see the classes in the App_Data and App_Code, but I want to use a method in this current page´s codebehind class.
System.NotSupportedException was unhandled by user code Message=The data source does not support sorting. Source=namespace StackTrace: at namespace.Admin.ToolkitScriptManager1_AsyncPostBackError(Object sender, AsyncPostBackErrorEventArgs e) in C:projectMaster.cs:line 27 at System.Web.UI.ScriptManager.OnAsyncPostBackError(AsyncPostBackErrorEventArgs e) at System.Web.UI.PageRequestManager.OnPageError(Object sender, EventArgs e) at System.Web.UI.TemplateControl.OnError(EventArgs e) at System.Web.UI.Page.HandleError(Exception e).......
below is my code using for simple gridview and i am only having problem with the sorting and paging is working as expected and i even define the ONSorting event but it still throws me an error: The data source does not support sorting.
namespace mynamespace { public class Product { private int _id; public int Id { get { return _id; } set { _id = value; } } private string _code; public string Code { get { return _code; } set { _code = value; } } private string _name;
I have an ObjectDataSource and I want to configure it from code behind , I want to set the InsertMethod , Selectmethod from Code Behind and set it to my Business Layer files