【发布时间】:2012-03-19 09:07:19
【问题描述】:
我有一个绑定到放置在用户控件内的 ObjectDataSource 的 FormView,使用以下代码进行初始化:
<asp:ObjectDataSource ID="odsCampaign" runat="server"
DataObjectTypeName="code.model.Campaign"
TypeName="code.model.Campaign"
SelectMethod="LoadCampaign">
<SelectParameters>
<asp:QueryStringParameter Name="code" QueryStringField="id" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<%-- ... --%>
<asp:FormView ID="fvCampaign" runat="server"
DataSourceID="odsCampaign">
<EmptyDataTemplate>
<span>No campaign loaded.</span>
</EmptyDataTemplate>
<ItemTemplate>
<span>Campaign</span>
<span><%# Eval("Subject") %></span>
<%-- ... --%>
</ItemTemplate>
</asp:FormView>
我的代码如下所示:
// CampaignCallCollection inherits from IEnumerable<CampaignCall>
public class Campaign : CampaignCallCollection
{
// Some property to show
public string Subject { get; set; }
// Constructor
public Campaign(int code)
: base()
{
// Initialize the object based on the primary key passed to the constructor
InitializeCampaign(code);
}
private void InitializeCampaign(int code)
{
// Initialization Code
}
// Loading method for ObjectDataSource
public static Campaign LoadCampaign(int code)
{
// Return new instance of an initialized campaign object.
Campaign oCampaign = new Campaign(code);
//throw new Exception(oCampaign.Subject);
return oCampaign;
}
}
但是,如果我启用异常,则正确的主题文本将作为异常消息传递。但我的 FormView 总是呈现 EmptyTemplate。我真的没有在这里看到错误。谁能帮我解决这个问题?
提前致谢!
【问题讨论】:
标签: c# asp.net data-binding objectdatasource formview