Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP .Net Datagrid Control (http://www.velocityreviews.com/forums/f60-asp-net-datagrid-control.html)
-   -   Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control (http://www.velocityreviews.com/forums/t762888-databinding-methods-such-as-eval-xpath-and-bind-can-only-be-used-in-the-context-of-a-databound-control.html)

Owen Blacker 07-19-2006 09:43 AM

Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control
 
I've spent loads of time Googling to try to work this one out and I'm
sure it's something obvious.

I get an InvalidOperationException reading "Databinding methods such as
Eval(), XPath(), and Bind() can only be used in the context of a
databound control" when I start my page. Unless I'm missing something
obvious, this is *not* the same issue as the "2-way databinding
cascading lists" issue in
http://www.webswapp.com/codesamples/...s/default.aspx
(which is linked from everywhere; I kinda wish that were my problem ;o)

I have a templated databound custom server control, that I've built
with
a great deal of help from the two articles by 4GuysFromRolla's Scott
Mitchell (http://masl.to/?S11823B6D and http://masl.to/?P40821B6D, both
on msdn.microsoft.com).

I don't seem to be able to use databinding syntax, however:

<ItemTemplate>
<asp:TableCell runat="server"><%# Eval("First")
%></asp:TableCell>
...
</ItemTemplate>

bound to a List<Pair> gives me an exception:

[InvalidOperationException: Databinding methods such as Eval(),
XPath(),
and Bind() can only be used in the context of a databound control.]
System.Web.UI.Page.GetDataItem() +90
System.Web.UI.TemplateControl.Eval(String expression) +110
ASP.owentest_aspx.__DataBind__control8(Object sender, EventArgs e)
in
c:\Projects\Customisation\RedesignProtoTypeWeb\Owe ntest.aspx:13
System.Web.UI.Control.OnDataBinding(EventArgs e) +80
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +198
System.Web.UI.Control.DataBind() +12
System.Web.UI.Control.DataBindChildren() +214
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +208
System.Web.UI.Control.DataBind() +12
System.Web.UI.Control.DataBindChildren() +214
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +208
System.Web.UI.Control.DataBind() +12
uSwitch.Web.UI.Lego.RepeatingInputRow.CreateItem(I nt32 rowIndex,
Table container, Boolean useDataBinding, Object rowData) in

C:\Projects\uSwitch.Web\UI.Lego\InputModule\Repeat ingInputRow.cs:361
uSwitch.Web.UI.Lego.RepeatingInputRow.CreateContro lHierarchy(Boolean
useDataBinding) in

C:\Projects\uSwitch.Web\UI.Lego\InputModule\Repeat ingInputRow.cs:452
uSwitch.Web.UI.Lego.RepeatingInputRow.DataBind() in

C:\Projects\uSwitch.Web\UI.Lego\InputModule\Repeat ingInputRow.cs:643
Owentest.Page_Load(Object sender, EventArgs e) in

c:\Projects\Customisation\RedesignProtoTypeWeb\Owe ntest.aspx.cs:20
System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, Object
o, Object t, EventArgs e) +13
System.Web.Util.CalliEventHandlerDelegateProxy.Cal lback(Object
sender, EventArgs e) +45
System.Web.UI.Control.OnLoad(EventArgs e) +80
System.Web.UI.Control.LoadRecursive() +49
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean
includeStagesAfterAsyncPoint) +3716

I don't get the exception if my databinding control is outside the
table
cell but, for a handful of other reasons, including that my
ItemTemplate
is being instantiated inside a TableRow, that won't work for me.

Any ideas gratefully received, as I'm completely lost.


Owen
--
Owen Blacker, London GB
Say no to ID cards: www.no2id.net
Get your mits off my bits: www.openrightsgroup.org
--
Those who would give up essential liberty to purchase a little
temporary safety, deserve neither liberty nor safety -- Benjamin
Franklin, 1759


Phillip Williams 07-21-2006 03:03 PM

RE: Databinding methods such as Eval(), XPath(), and Bind() can only b
 
Owen,

Can you post the entire page code that causes this problem?
--
HTH,
Phillip Williams
http://www.societopia.net
http://www.webswapp.com


"Owen Blacker" wrote:

> I've spent loads of time Googling to try to work this one out and I'm
> sure it's something obvious.
>
> I get an InvalidOperationException reading "Databinding methods such as
> Eval(), XPath(), and Bind() can only be used in the context of a
> databound control" when I start my page. Unless I'm missing something
> obvious, this is *not* the same issue as the "2-way databinding
> cascading lists" issue in
> http://www.webswapp.com/codesamples/...s/default.aspx
> (which is linked from everywhere; I kinda wish that were my problem ;o)
>
> I have a templated databound custom server control, that I've built
> with
> a great deal of help from the two articles by 4GuysFromRolla's Scott
> Mitchell (http://masl.to/?S11823B6D and http://masl.to/?P40821B6D, both
> on msdn.microsoft.com).
>
> I don't seem to be able to use databinding syntax, however:
>
> <ItemTemplate>
> <asp:TableCell runat="server"><%# Eval("First")
> %></asp:TableCell>
> ...
> </ItemTemplate>
>
> bound to a List<Pair> gives me an exception:
>
> [InvalidOperationException: Databinding methods such as Eval(),
> XPath(),
> and Bind() can only be used in the context of a databound control.]
> System.Web.UI.Page.GetDataItem() +90
> System.Web.UI.TemplateControl.Eval(String expression) +110
> ASP.owentest_aspx.__DataBind__control8(Object sender, EventArgs e)
> in
> c:\Projects\Customisation\RedesignProtoTypeWeb\Owe ntest.aspx:13
> System.Web.UI.Control.OnDataBinding(EventArgs e) +80
> System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +198
> System.Web.UI.Control.DataBind() +12
> System.Web.UI.Control.DataBindChildren() +214
> System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +208
> System.Web.UI.Control.DataBind() +12
> System.Web.UI.Control.DataBindChildren() +214
> System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +208
> System.Web.UI.Control.DataBind() +12
> uSwitch.Web.UI.Lego.RepeatingInputRow.CreateItem(I nt32 rowIndex,
> Table container, Boolean useDataBinding, Object rowData) in
>
> C:\Projects\uSwitch.Web\UI.Lego\InputModule\Repeat ingInputRow.cs:361
> uSwitch.Web.UI.Lego.RepeatingInputRow.CreateContro lHierarchy(Boolean
> useDataBinding) in
>
> C:\Projects\uSwitch.Web\UI.Lego\InputModule\Repeat ingInputRow.cs:452
> uSwitch.Web.UI.Lego.RepeatingInputRow.DataBind() in
>
> C:\Projects\uSwitch.Web\UI.Lego\InputModule\Repeat ingInputRow.cs:643
> Owentest.Page_Load(Object sender, EventArgs e) in
>
> c:\Projects\Customisation\RedesignProtoTypeWeb\Owe ntest.aspx.cs:20
> System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, Object
> o, Object t, EventArgs e) +13
> System.Web.Util.CalliEventHandlerDelegateProxy.Cal lback(Object
> sender, EventArgs e) +45
> System.Web.UI.Control.OnLoad(EventArgs e) +80
> System.Web.UI.Control.LoadRecursive() +49
> System.Web.UI.Page.ProcessRequestMain(Boolean
> includeStagesBeforeAsyncPoint, Boolean
> includeStagesAfterAsyncPoint) +3716
>
> I don't get the exception if my databinding control is outside the
> table
> cell but, for a handful of other reasons, including that my
> ItemTemplate
> is being instantiated inside a TableRow, that won't work for me.
>
> Any ideas gratefully received, as I'm completely lost.
>
>
> Owen
> --
> Owen Blacker, London GB
> Say no to ID cards: www.no2id.net
> Get your mits off my bits: www.openrightsgroup.org
> --
> Those who would give up essential liberty to purchase a little
> temporary safety, deserve neither liberty nor safety -- Benjamin
> Franklin, 1759
>
>



All times are GMT. The time now is 10:54 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.