我知道如何在MVC做到這一點:如何將數據庫字段綁定到ASP.NET 2.0中的HTML TITLE元素?
<title> <%= Model.Title %> </title>
我也知道如何一個SqlDataSource或ObjectDataSource控件綁定到窗體或ListView控件上。
但是,如何將我的SQLDataSource或ObjectDataSource中的字段直接渲染到HTML中?
我知道如何在MVC做到這一點:如何將數據庫字段綁定到ASP.NET 2.0中的HTML TITLE元素?
<title> <%= Model.Title %> </title>
我也知道如何一個SqlDataSource或ObjectDataSource控件綁定到窗體或ListView控件上。
但是,如何將我的SQLDataSource或ObjectDataSource中的字段直接渲染到HTML中?
您可以聲明一個屬性並使用所需字段的值設置其值。
代碼隱藏:
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>
可以使用Page.Title
屬性設置在代碼中的標題後面。
一旦您在您的數據源上運行了SelectCommand或同等功能,只需將Page.Title賦值給結果集即可。
或者,你可以用自己的aspx頁面,只是在HTML中指定的文本字符串,像這樣:
<title>
<%= dataSource.Select(...) %>
</title>
在的WebForms你仍然需要使用Web控件實現數據綁定的「容器「爲你的領域。例如,一個GridView,Repeater,ListView,FormView或DetailsView。不幸的是,沒有專門爲摺疊一行或一個對象而設計的WebControl。所以,你有一個選擇:
使用中繼是這樣的:
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="MyDataSource">
<ItemTemplate>
<%# Eval("MyProperty") %>
</ItemTemplate>
</asp:Repeater>
另一個alernative是不使用的數據源。相反,將屬性添加到您的頁面,然後將您的數據綁定到這些頁面。例如,在你的頁面代碼隱藏:
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>
希望有所幫助。
啊,錯過了明顯!誠然,Page.Title是這種情況下最簡單的方法。我的回覆可能對其他頁面元素有用,或者在多個位置使用屬性值。 – 2009-07-19 18:54:19