Проблема: у меня есть перечисляемый тип, который имеет теги описания в следующем стиле: [URL = "http://xml.indelv.com/data-binding-enum.html" ] описание описания тегов [/URL]. У меня есть база данных Windows SQL Server, из которой я извлекаю данные (как целые числа, а затем castine в Enums), которые затем привязаны к datagrid. Вместо того, чтобы тянуть и обрезать перечисленные типы, я хотел бы показать связанный с ним тег описания в перечисляемом типе.
Вот ASP -
<asp:GridView ID="StatementGrid" runat="server" AutoGenerateColumns="false" DataKeyNames="statementID" OnRowDeleting="StatementGrid_onDeleting" AllowSorting="False">
                <Columns>
                    <asp:BoundField HeaderText="Type" SortExpression="type" DataField="TypeOfStatement" />
                    <asp:HyperLinkField HeaderText="Statement" DataTextField="StatementText" DataNavigateUrlFormatString="~/Gateway/Statements/View.aspx?statementID={0}" SortExpression="statement" DataNavigateUrlFields="statementID" />
                    <asp:HyperLinkField DataNavigateUrlFields="statementID" DataNavigateUrlFormatString="~/Gateway/Statements/Update.aspx?statementID={0}" NavigateUrl="~/Gateway/Statements/Update.aspx" HeaderText="Edit" Text="<img src='../../Images/News/news_edit.gif' alt='Edit Statement'/>" />
                    <asp:TemplateField HeaderText="Delete">
                        <ItemTemplate>
                            <asp:ImageButton AlternateText="Delete Statement" ID="DeleteButton" ImageUrl="~/Images/News/news_delete.gif" runat="server" CommandName="Delete" OnClientClick="javascript:return confirm('Are you sure you want to delete this statement?');" />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
                <EmptyDataTemplate>
                    There are no statements to display.
                </EmptyDataTemplate>
            </asp:GridView>
Вот код для Bind -
[КОД]
private void BindData()
        {
            IStatementDao statementDao = DaoFactory.GetStatementDao();
            List<Statement> statements;
            if (Page.Request.RawUrl.Contains("Gateway"))
            {
                statements = statementDao.GetAll();
                StatementGrid.HeaderStyle.CssClass = "GatewayGridHeader";
                StatementGrid.AlternatingRowStyle.CssClass = "GatewayGridAlternatingRow";
            }
            else
            {
                // This should never be reached but it keeps the compiler happy!!
                statements = statementDao.GetAll();
            }
            StatementGrid.DataSource = statements;
            StatementGrid.DataBind();
            DisplayTypeDescriptors();
        }
[/КОД]
Вот перечисленный класс -
[КОД]
public enum TypeOfStatement 
        { 
            [EnumDescription("Dress Code")] DressCode = 1,
            [EnumDescription("Lunch Time")] LunchTime = 2,
            [EnumDescription("Footwarez")] Footware = 3,
            [EnumDescription("achtung")] Warning = 4,
            [EnumDescription("Banarna")] Banana = 5,
            [EnumDescription("Apfel")] Apple = 6
        };c#
[/КОД]
Очевидно, что можно написать обширный метод делать то, что я хочу, но есть ли более аккуратный способ?
