IP Library › Granted Patent US 7,379,943
Granted Patent B2
US 7,379,943 · App. 11/046,011 · Granted May 27, 2008

Method and system for bidirectionally data binding a control of a template

Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,379,943
App. No.
11/046,011
Granted
May 27, 2008
Kind
B2
Abstract

A control is bound to a data item that provides a data binding context. Controls inside the template of a data bound control have properties which are bound to fields of the data item via a bidirectional data binding process. Bidirectional data binding allows a page developer to specify that a field in a data item is inserted into a control property value when a page is rendered on a client. Bidirectional data binding also allows the data-bound control to automatically and codelessly extract an arbitrary control property value associated with a data item field in a template when the page is posted back to the server.

Claims (62)

1. A computer-implemented method for data binding a control of a template, wherein the template is associated with a parent control that offers a data binding context, the method comprising:

instantiating the template, wherein the template comprises at least one control property value associated with the control of the template;

binding, within the template, the at least one control property value to a field of a data item located in a data source, wherein the data item is exposed by the parent control, wherein the parent control includes a declared bidirectional attribute that provides uniform bidirectional data binding for the control of the template, wherein the parent control includes a binding declaration that declares the control of the template, declares the at least one control property value, and binds the at least one control property value to the field of the data item located in the data source by declaring the field within the binding declaration;

rendering the template on a page for a client, wherein the rendered template comprises the at least one control property value corresponding to the field of the data item;

receiving at least one modified control property value to the control of the template; and

automatically and codelessly extracting the at least one modified control property value to from the template by accessing the parent control to bind the modified control property value to the field of the data item according to the binding declaration.

2. The computer-implemented method of claim 1 , further comprising:

receiving a request for a page from the client, wherein the page comprises an item template associated with the parent control;

instantiating the item template to retrieve data from the data source;

populating a control on the item template with the retrieved data, wherein the retrieved data is associated with a bidirectional bindable control from the template; and

rendering the page as a read-only document on the client, wherein the rendered page includes the populated control.

3. The computer-implemented method of claim 1 , wherein the template is an edit item template.

4. The computer-implemented method of claim 1 , wherein rendering the template further comprises:

automatically retrieving data corresponding to the field of the data item;

populating the at least one control property value with the retrieved data, wherein the retrieved data corresponds to at least one of: a current value and a default value; and

displaying the at least one control property value as editable.

5. The computer-implemented method of claim 1 , further comprising modifying the control property value by posting the at least one control property value back to the server in response to an update command.

6. The computer-implemented method of claim 1 , further comprising storing the updated control property value in the data source by:

receiving a dictionary, wherein the dictionary comprises the modified control property value and the corresponding field name of the data item; and

providing the dictionary to the data source.

7. computer-implemented method of claim 1 , further comprising:

determining whether the at least one modified control property value is correctly formatted; and

transforming the at least one modified control property value into a correct format when the modified control property is determined to be incorrectly formatted.

8. The computer-implemented method of claim 1 , wherein the at least one control property value is associated with state data.

9. A system for data binding a control of a template, wherein the template is associated with a parent control that offers a binding context, the system comprising:

a client;

a data store comprising a data item that is exposed by the parent control, wherein the data item comprises a field; and

a server coupled to the client and to the data store, wherein the server is arranged to:

bind at least one control property value of the template to the field of the data item, wherein the at least one control property value is located in the control, wherein the parent control includes a declared bidirectional attribute that provides uniform bidirectional data binding for the control of the template, wherein the parent control includes a binding declaration that declares the control of the template, declares the at least one control property value, and binds the at least one control property value to the field of the data item located in the data source by declaring the field within the binding declaration,

render the template on a page for the client, wherein the rendered template comprises the at least one control property value corresponding to the field of the data item,

update the at least one control property value, and

automatically and codelessly extract the at least one updated control property value from the template by accessing the parent control to bind the updated control property value to the field of the data item according to the binding declaration.

10. The system of claim 9 , wherein the server is further arranged to:

receive a request to edit the at least one control property value; and

instantiate the template in response to the request.

11. The system of claim 9 , wherein the server is further arranged to:

create a dictionary in response to extracting the at least one updated control property value, wherein the dictionary comprises the at least one updated control property value and the corresponding name of the field in the data item; and

provide the dictionary to the data store, wherein the updated control property value is saved in the data store.

12. The system of claim 9 , wherein the page comprises non-compiled code.

13. The system of claim 9 , wherein the server is further arranged to:

receive a request for a page from the client, wherein the page comprises an item template associated with the parent control;

instantiate the item template to retrieve data from the data store;

populate a control on the item template with the retrieved data, wherein the retrieved data is associated with a bidirectional bindable control from the template; and

render the page as a read-only document on the client, wherein the rendered page includes the populated control.

14. The system of claim 9 , wherein the server is further arranged to render the template by:

automatically retrieving data corresponding to the field of the data item;

populating the at least one control property value with the retrieved data, wherein the retrieved data corresponds to at least one of: a current value and a default value; and

displaying the control property value as editable.

15. The system of claim 9 , wherein the server is further arranged to update the at least one control property value by receiving the at least one control property value as a post back from the client in response to an update command.

16. The system of claim 9 , wherein the template is an edit item template.

17. The system of claim 9 , wherein the at least one control property value is state data.

18. A computer-readable storage medium having computer-executable instructions for data binding a control of a template, wherein the template is associated with a parent control that offers a data binding context, comprising:

binding at least one control property value of the template to a field of a data item associated with a data source, wherein the data item is exposed by the parent control, wherein the parent control includes a declared bidirectional attribute that provides uniform bidirectional data binding for the control of the template, wherein the parent control includes a binding declaration that declares the control of the template, declares the at least one control property value, and binds the at least one control property value to the field of the data item located in the data source by declaring the field within the binding declaration;

rendering the template on a page for a client, wherein the rendered template comprises the at least one control property value corresponding to the field of the data item;

modifying the at least one control property value;

automatically and codelessly extracting the at least one modified control property value from the template by accessing the parent control to bind the modified control property value to the field of the data item according to the binding declaration;

receiving a dictionary in response to extracting the at least one modified control property, wherein the dictionary comprises the at least one modified control property value and the corresponding name of the field of the data source; and

providing the dictionary to the data source, wherein the at least one modified control property is saved in the data source.

19. The computer-readable storage medium of claim 18 , further comprising:

receiving a request to edit the at least one control property value; and

instantiating the template in response to the request.

20. The computer-readable storage medium of claim 18 , wherein modifying the at least one control property value further comprises posting the at least one control property value back to the server in response to an update command.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2005
From: PAULUS, POLITA; MILLINGTON, BRADLEY; KOTHARI, NIKHIL
To: MICROSOFT CORPORATION
Reel/Frame 016041/0726 →
Continuity (1)
Related Publication 20060173863A1 · Aug 3, 2006