HyperLinkField.DataNavigateUrlFormatString 属性

定义

获取或设置用于指定格式的字符串,HyperLinkField 对象中的超链接的 URL 将以此格式呈现。

public:
 virtual property System::String ^ DataNavigateUrlFormatString { System::String ^ get(); void set(System::String ^ value); };
public virtual string DataNavigateUrlFormatString { get; set; }
member this.DataNavigateUrlFormatString : string with get, set
Public Overridable Property DataNavigateUrlFormatString As String

属性值

用于指定格式的字符串,HyperLinkField 中的超链接的 URL 将以此格式呈现。 默认值为空字符串 (""),表明没有对 URL 值应用特殊格式设置。

示例

下面的代码示例演示如何使用 DataNavigateUrlFormatString 属性指定要应用于 对象中显示的 HyperLinkField 超链接的导航 URL 的自定义格式。 由 DataTextField 属性指定的字段的值作为查询字符串传递到格式字符串中指定的网页。


<%@ Page language="C#" %>

<!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 runat="server">
    <title>HyperLinkField Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>HyperLinkField Example</h3>
                    
      <!-- Populate the Columns collection declaratively. -->
      <!-- The UnitPrice field values are bound to the         -->
      <!-- captions of the hyperlinks in the HyperLinkField    -->
      <!-- field column, formatted as currency. The ProductID  -->
      <!-- field values are bound to the navigate URLs of the  -->
      <!-- hyperlinks. However, instead of being the actual    -->
      <!-- URL values, the product ID is passed to the linked  -->
      <!-- page as a parameter in the URL specified by the     -->
      <!-- DataNavigateUrlFormatString property.               -->
      <asp:gridview id="OrdersGridView" 
        datasourceid="OrdersSqlDataSource" 
        autogeneratecolumns="false"
        runat="server">
                
        <columns>
                
          <asp:boundfield datafield="OrderID" 
            headertext="Order ID"/>
          <asp:boundfield datafield="ProductID" 
            headertext="Product ID"/>
          <asp:hyperlinkfield datatextfield="UnitPrice"
            datatextformatstring="{0:c}"
            datanavigateurlfields="ProductID"
            datanavigateurlformatstring="~\details.aspx?ProductID={0}"          
            headertext="Price"
            target="_blank" />
          <asp:boundfield datafield="Quantity" 
            headertext="Quantity"/>
                 
        </columns>
                
      </asp:gridview>
            
      <!-- This example uses Microsoft SQL Server and connects -->
      <!-- to the Northwind sample database.                   -->
      <asp:sqldatasource id="OrdersSqlDataSource"  
        selectcommand="SELECT [OrderID], [ProductID], [UnitPrice], [Quantity] FROM [Order Details]"
        connectionstring="server=localhost;database=northwind;integrated security=SSPI"
        runat="server">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>

<%@ Page language="VB" %>

<!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 runat="server">
    <title>HyperLinkField DataTextFormatString and DataNavigateUrlFormatString Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>HyperLinkField DataTextFormatString and DataNavigateUrlFormatString Example</h3>
                    
      <!-- Populate the Columns collection declaratively. -->
      <!-- The UnitPrice field values are bound to the         -->
      <!-- captions of the hyperlinks in the HyperLinkField    -->
      <!-- field column, formatted as currency. The ProductID  -->
      <!-- field values are bound to the navigate URLs of the  -->
      <!-- hyperlinks. However, instead of being the actual    -->
      <!-- URL values, the product ID is passed to the linked  -->
      <!-- page as a parameter in the URL specified by the     -->
      <!-- DataNavigateUrlFormatString property.               -->
      <asp:gridview id="OrdersGridView" 
        datasourceid="OrdersSqlDataSource" 
        autogeneratecolumns="false"
        runat="server">
                
        <columns>
                
          <asp:boundfield datafield="OrderID" 
            headertext="Order ID"/>
          <asp:boundfield datafield="ProductID" 
            headertext="Product ID"/>
          <asp:hyperlinkfield datatextfield="UnitPrice"
            datatextformatstring="{0:c}"
            datanavigateurlfields="ProductID"
            datanavigateurlformatstring="~\details.aspx?ProductID={0}"          
            headertext="Price"
            target="_blank" />
          <asp:boundfield datafield="Quantity" 
            headertext="Quantity"/>
                 
        </columns>
                
      </asp:gridview>
            
      <!-- This example uses Microsoft SQL Server and connects -->
      <!-- to the Northwind sample database.                   -->
      <asp:sqldatasource id="OrdersSqlDataSource"  
        selectcommand="SELECT [OrderID], [ProductID], [UnitPrice], [Quantity] FROM [Order Details]"
        connectionstring="server=localhost;database=northwind;integrated security=SSPI"
        runat="server">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>

注解

DataNavigateUrlFormatString使用 属性可以指定 对象中HyperLinkField超链接的 URL 的自定义格式。 DataNavigateUrlFormatString如果未设置 属性,则超链接的 URL 不会获得任何特殊格式。

注意

仅当设置了 属性时, DataNavigateUrlFields 才应用格式字符串。

格式字符串可以是任何文本字符串,通常包括字段值的占位符。 例如,在格式字符串“Item Value: {0}”中 {0} ,占位符将替换为 对象中的 HyperLinkField 字段值。 格式字符串的其余部分显示为文本文本。

注意

如果格式字符串不包含占位符,则来自数据源的字段值不会包含在最终显示文本中。

占位符由两个部分组成,用冒号分隔,用大括号括起来,格式为 {ABxx}。 在常规示例中,冒号前的值 (A) 在从零开始的参数列表中指定字段值的索引。

注意

此参数是格式设置语法的一部分。 由于每个单元格中只有一个字段值,因此此值只能设置为 0。

冒号和冒号后面的值是可选的。 常规示例中冒号后 (B 字符) 指定要显示值的格式。 下表列出了常用格式。

格式字符 说明
C 以货币格式显示数值。
D 以十进制格式显示数值。
E 以科学 (指数) 格式显示数值。
F 以固定格式显示数值。
G 以常规格式显示数值。
N 以数字格式显示数值。
X 以十六进制格式显示数值。

注意

格式字符不区分大小写,但 显示指定大小写中的十六进制字符除外 X

常规示例中格式字符 (xx 后的值) 指定要显示的重要位数或小数位数。 例如,格式字符串“”{0:F2}显示具有两位小数的定点数。

有关设置字符串格式的详细信息,请参阅格式设置类型

适用于

另请参阅