Почему мой ASP.NET FormView всегда рендерит EmptyTemplate? - PullRequest
0 голосов
/ 19 марта 2012

У меня есть FormView, связанный с ObjectDataSource, помещенным в usercontrol, инициализированный следующим кодом:

<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.Я не вижу здесь ошибки.Кто-нибудь может мне помочь с этим?

Заранее спасибо!

1 Ответ

0 голосов
/ 19 марта 2012

Это потому, что он ожидает список кампаний, а не отдельную кампанию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...