从 gridview c# 设置自定义 NavigateUrl 值

Set custom NavigateUrl value from gridview c#

我有一个 gridview,我想在其中加载用户详细信息。在这个 gridview 中,我想让用户 phone 成为 hyperlink。这样他们就可以单击 link,它会使用存储在他们电脑上的 phone 软件自动拨打该号码。如果您在 html:

中使用以下语法,则效果很好
   <a href = "tel:07123456789">07123456789</a>

我的问题是我想在填充 phone 数字的网格视图中执行此操作。 html 前面必须有 'tel:' 位。我已经尝试了一切请帮助!我基本上想要上面但是在 gridview 中呈现加载的 HomeNo,其中 phone 数字应该是......帮助! 网格视图:

   <asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="ds">
           <Columns>

               <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />
               <asp:HyperLinkField DataTextField="HomeNo" HeaderText="HomeNo" NavigateUrl="tel:"  />
            </Columns>
       </asp:GridView>

如果您有正在读取的数据,您需要在 also 中执行此操作,您需要在 DataGrid

DataBound 事件中执行一些代码

例如,我在当前的数据网格中将姓名和电子邮件地址作为 link,我是这样做的

<asp:TemplateColumn HeaderText="Scheduler" HeaderStyle-Font-Bold="true" HeaderStyle-Width="145">
    <ItemTemplate>
        <a href='<%#Eval("Email_Address") %>' ><%# Eval("Scheduler") %></a>
    </ItemTemplate>
    <HeaderStyle Font-Bold="True" />
</asp:TemplateColumn>

protected void dgShippers_DataBinding(object sender, EventArgs e)
{
    foreach (DataRow r in dtShippers.Rows)
    {
        if (!System.Uri.IsWellFormedUriString(r.ItemArray[3].ToString(), UriKind.Absolute))
        {
            var tempHref = "<a href=mailto:" + r.ItemArray[4].ToString() + " />" + r.ItemArray[3].ToString()+ "</a>";
            r.Table.Rows[0]["Scheduler"] = tempHref;
        }
    }
}
<asp:GridView ID="GridView1" runat="server"  OnSelectedIndexChanged="GridView1_SelectedIndexChanged" AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="ds">
   <Columns>
      <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />
      <asp:TemplateField>
         <ItemTemplate>
           <asp:HyperLink ID="HyperLink1" runat="server" 
                NavigateUrl='<%# Eval("HomeNo", "tel:{0}") %>' 
                       Text='<%# Eval("NomeNo") %>'></asp:HyperLink>
         </ItemTemplate>
      </asp:TemplateField>
   </Columns>
</asp:GridView>