HyperLinkColumn.DataNavigateUrlField Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает поле источника данных, которое необходимо привязать к URL-адресам гиперссылок в элементе управления HyperLinkColumn.
public:
virtual property System::String ^ DataNavigateUrlField { System::String ^ get(); void set(System::String ^ value); };
public virtual string DataNavigateUrlField { get; set; }
member this.DataNavigateUrlField : string with get, set
Public Overridable Property DataNavigateUrlField As String
Значение свойства
Поле источника данных, которое необходимо привязать к URL-адресам гиперссылок в элементе управления HyperLinkColumn.
Примеры
В следующем примере показано, как использовать DataNavigateUrlField свойство , чтобы указать поле в источнике данных для привязки к URL-адресу гиперссылок в HyperLinkColumn.
Примечание
В следующем примере кода используется однофайловая модель кода, и при копировании непосредственно в файл кода программной части может работать неправильно. Этот пример кода необходимо скопировать в пустой текстовый файл с расширением .aspx. Дополнительные сведения о модели кода веб-форм см. в разделе модель кода веб-форм ASP.NET.
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HyperLinkColumn Example</title>
<script runat="server">
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("PriceValue", typeof(Double)));
for (int i = 0; i < 3; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = (Double)i * 1.23;
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
MyDataGrid.DataSource = CreateDataSource();
MyDataGrid.DataBind();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3>HyperLinkColumn Example</h3>
<asp:DataGrid id="MyDataGrid"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
AutoGenerateColumns="false"
runat="server">
<HeaderStyle BackColor="#aaaadd"/>
<Columns>
<asp:HyperLinkColumn
HeaderText="Select an Item"
DataNavigateUrlField="IntegerValue"
DataNavigateUrlFormatString="detailspage.aspx?id={0}"
DataTextField="PriceValue"
DataTextFormatString="{0:c}"
Target="_blank"/>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HyperLinkColumn Example</title>
<script runat="server">
Function CreateDataSource() As ICollection
Dim dt As DataTable = New DataTable()
Dim dr As DataRow
Dim i As Integer
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(New DataColumn("PriceValue", GetType(Double)))
For i = 0 to 2
dr = dt.NewRow()
dr(0) = i
dr(1) = CDbl(i) * 1.23
dt.Rows.Add(dr)
Next i
Dim dv As DataView = New DataView(dt)
Return dv
End Function
Sub Page_Load(sender As Object, e As EventArgs)
MyDataGrid.DataSource = CreateDataSource()
MyDataGrid.DataBind()
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3>HyperLinkColumn Example</h3>
<asp:DataGrid id="MyDataGrid"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
AutoGenerateColumns="false"
runat="server">
<HeaderStyle BackColor="#aaaadd"/>
<Columns>
<asp:HyperLinkColumn
HeaderText="Select an Item"
DataNavigateUrlField="IntegerValue"
DataNavigateUrlFormatString="detailspage.aspx?id={0}"
DataTextField="PriceValue"
DataTextFormatString="{0:c}"
Target="_blank"/>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>
В следующем соответствующем примере отображается элемент, выбранный в предыдущем примере.
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Details page for DataGrid</title>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
Label1.Text = "You selected item: " + Request.QueryString["id"];
}
</script>
</head>
<body>
<h3>Details page for DataGrid</h3>
<asp:Label id="Label1"
runat="server"/>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Details page for DataGrid</title>
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
Label1.Text = "You selected item: " & Request.QueryString("id")
End Sub
</script>
</head>
<body>
<h3>Details page for DataGrid</h3>
<asp:Label id="Label1"
runat="server"/>
</body>
</html>
Комментарии
Используйте свойство , DataNavigateUrlField чтобы указать поле из источника данных для привязки к URL-адресу гиперссылок в HyperLinkColumn. Если URL-адрес привязан к полю, URL-адрес каждой гиперссылки в столбце задается с соответствующим значением в указанном поле. Это позволяет задать разные URL-адреса для каждой гиперссылки в столбце. Чтобы указать один и тот же URL-адрес для каждой строки в столбце, задайте NavigateUrl свойство вместо этого свойства.
Примечание
Свойства DataNavigateUrlField и NavigateUrl нельзя задать одновременно. Если заданы оба свойства, DataNavigateUrlField свойство имеет приоритет.
При использовании привязки данных можно указать настраиваемый формат отображения для URL-адреса гиперссылок, задав DataNavigateUrlFormatString свойство .