如何将数据库字段绑定到 ASP.NET 2.0 中的 HTML TITLE 元素?

发布于 2024-07-29 02:23:50 字数 237 浏览 4 评论 0原文

我知道如何在 MVC 中执行此操作:

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

我还知道如何将 SQLDataSource 或 ObjectDataSource 绑定到表单或列表视图上的控件。

但是如何将 SQLDataSource 或 ObjectDataSource 中的字段直接渲染到 HTML 中?

I know how to do this in MVC:

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

I also know how to bind a SQLDataSource or ObjectDataSource to a control on a form or listview.

But how do I render a field from my SQLDataSource or ObjectDataSource directly into the HTML?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

十秒萌定你 2024-08-05 02:23:50

您可以使用 Page.Title 属性在代码隐藏中设置标题。

在数据源上运行 SelectCommand 或等效命令后,只需从结果集中为 Page.Title 分配一个值即可。

或者,您可以使用 aspx 页面本身,并在 html 内部分配一个文本字符串,如下所示:

<title>
  <%= dataSource.Select(...) %>
</title>

You can use the Page.Title property to set the title in code behind.

Once you've run your SelectCommand or equivalent on your data source, just simply assign Page.Title a value from the result set.

Alternately, you can use the aspx page itself, and just inside the html assign a text string, like this:

<title>
  <%= dataSource.Select(...) %>
</title>
怂人 2024-08-05 02:23:50

在 WebForms 中,您仍然需要使用实现 DataBinding 的 WebControl 作为字段的“容器”。 例如,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>

希望有所帮助。

In WebForms you still need to use a WebControl that implements DataBinding as the "container" for your fields. For instance, a GridView, Repeater, ListView, FormView or DetailsView. Unfortunately there isn't a WebControl designed specifically for rending just one row or object. So, you have a choice:

Use a Repeater something like this:

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

Another alernative is to not use a DataSource. Instead, add properties to your page and then bind your data to these. For example, in your page codebehind:

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

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

You can then do this in your page:

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

Hope that helps.

流年里的时光 2024-08-05 02:23:50

您可以声明属性并使用所需字段的值设置其值。

代码隐藏:

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

标记:<%= MyTitle %>

You can declare a property and set its value using your desired field's value.

Code-behind:

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

Markup: <title><%= MyTitle %></title>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文