如何调试转发器控制?

时间:2011-06-08 13:32:59

标签: asp.net repeater

是否可以在以下点在aspx用户控制页面的html中设置断点 (例如这里给出的代码):

< repeater blah blah >  
< span > <%# DataBinder.Eval(Container.DataItem, "myvalue") % > < / span >  (break here)  
< / repeater etc >  

我使用的是Visual Studio 2008 我知道我可以查看在调试模式下绑定到转发器控件的数据视图,但我更愿意看到这种情况“因为它发生”,因为在某些情况下,我会收到错误,其中转换器无法正常工作。所以我想我问我们是否可以进入并在运行时“看到”循环中的Container.DataItem值。

非常感谢,约翰

2 个答案:

答案 0 :(得分:4)

您可以在代码隐藏文件中的转发器控件上为ItemDataBound添加事件处理程序。

在通过的RepeaterItemEventArgs中,您可以访问e.Item.DataItem,这与代码中的Container.DataItem相同。使用调试器的即时窗口,您可以测试值。

E.g:

Page.ascx

<asp:Repeater runat="server" ID="Repeater1" OnItemDataBound="Repeater1_Databound">
...
</asp:Repeater>

Page.ascx.cs

protected void Repeater1_Databound(object sender, RepeaterItemEventArgs e)
{
    // Breakpoint here - use immediate window or
    // watch to examine contents of the 'item' variable.
    var item = e.Item.DataItem;
}

答案 1 :(得分:0)

不,你无法调试设计视图。 OnItemDataBound可用于在后面的代码中进行调试。