Как связать поле базы данных с элементом HTML TITLE в ASP.NET 2.0? - PullRequest
0 голосов
/ 19 июля 2009

Я знаю, как это сделать в MVC:

<title> <%= Model.Title %> </title>

Я также знаю, как связать SQLDataSource или ObjectDataSource с элементом управления в форме или представлении списка.

Но как мне визуализировать поле из моего SQLDataSource или ObjectDataSource непосредственно в HTML?

Ответы [ 3 ]

2 голосов
/ 19 июля 2009

Вы можете использовать свойство Page.Title для установки заголовка в коде.

После запуска команды SelectCommand или ее эквивалента в источнике данных просто назначьте Page.Title значение из набора результатов.

В качестве альтернативы, вы можете использовать саму страницу aspx и просто внутри html назначить текстовую строку, например:

<title>
  <%= dataSource.Select(...) %>
</title>
1 голос
/ 19 июля 2009

В WebForms вам все еще нужно использовать WebControl, который реализует DataBinding в качестве «контейнера» для ваших полей. Например, GridView, Repeater, ListView, FormView или DetailsView. К сожалению, нет WebControl, разработанного специально для рендеринга только одной строки или объекта. Итак, у вас есть выбор:

Используйте Ретранслятор примерно так:

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="MyDataSource">
        <ItemTemplate>
            <%# Eval("MyProperty") %>
        </ItemTemplate>
    </asp:Repeater>

Еще одним предупреждением является не использовать источник данных. Вместо этого добавьте свойства на свою страницу, а затем привяжите к ним свои данные. Например, на вашей странице код позади:

public string MyPageProperty 
{
    get { return _myPageProperty; }
    set { _myPageProperty = value; }
}

protected void Page_Load(object sender, EventArgs e)
{
    MyPageProperty = "This is some data";
}

Вы можете сделать это на своей странице:

<div>The value is: <%= MyPageProperty %></div>

Надеюсь, это поможет.

1 голос
/ 19 июля 2009

Вы можете объявить свойство и установить его значение, используя значение нужного поля.

Код-за:

private string myTitle;
protected string MyTitle
{
   get { return myTitle; }
   set { myTitle = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
    MyTitle = "Testing 123!";
}

Разметка: <title><%= MyTitle %></title>

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