Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在.NET中的超链接按钮和HTML的锚定标记中使用UrlEncode_C#_.net - Fatal编程技术网

C# 在.NET中的超链接按钮和HTML的锚定标记中使用UrlEncode

C# 在.NET中的超链接按钮和HTML的锚定标记中使用UrlEncode,c#,.net,C#,.net,我只是尝试在GridView中的超链接中使用UrlEncode,但发现它不起作用。然后我尝试将超链接作为一个单独的控件,并尝试使用它。它没有给我超链接,我的意思是它甚至不可点击 当我尝试使用简单的锚定标记时,它正在工作。这就是我正在使用的 <asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl ='<%= "~/Default.aspx?customer=" + "&Compan

我只是尝试在GridView中的超链接中使用UrlEncode,但发现它不起作用。然后我尝试将超链接作为一个单独的控件,并尝试使用它。它没有给我超链接,我的意思是它甚至不可点击

当我尝试使用简单的锚定标记时,它正在工作。这就是我正在使用的

    <asp:HyperLink   ID="HyperLink2" runat="server" 
            NavigateUrl ='<%= "~/Default.aspx?customer=" + "&CompanyName=" + Server.UrlEncode("abc#")%>' > wc  
    </asp:HyperLink>

// While following is working
    <a  title="asxd" href='<%= "~/Default.aspx?customer=" + "&CompanyName=" + Server.UrlEncode("abc#")%>'>wc
</a>


仍然在寻找答案

您不需要使用
超链接
控件或制作锚定标记
runat=“server”
,除非您正在代码隐藏中对其进行操作

<a href="<%=ResolveUrl("~/Default.aspx?customer=" + "&CompanyName=" + Server.UrlEncode("abc#")) %>">wc</a>

您缺少超链接控件的文本属性

<asp:HyperLink   ID="HyperLink2" runat="server" 
    NavigateUrl ='<%= "~/Default.aspx?customer=" + "&CompanyName=" + Server.UrlEncode("abc#")%>' Text="wc" />

您还可以在代码隐藏文件中设置NavigateUrl属性,例如在页面加载事件处理程序中。它会起作用的

在代码隐藏类中:

        protected void Page_Load(object sender, EventArgs e)
        {                
            HyperLink2.NavigateUrl = "~/Default.aspx?customer=&CompanyName=" + Server.UrlEncode("abc#");                 
        }
在标记中:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:HyperLink ID="HyperLink2" runat="server" Target="_new">wc  
</asp:HyperLink>

    </div>
    </form>
</body>
</html>

厕所

在ASP.NET控件中不起作用

备选方案:

  • 在某些情况下在数据绑定控件中工作
  • 代码隐藏

你不需要
Text
将内部内容设置为“wc”就行了,正如@hunter所说的一样,你也没有回答词根problem@Nits,这和亨特说的完全不同。他说要使用a标记,我说你缺少超链接的文本属性。那么你的意思是说它正在处理你的m/c(我在使用超链接时,没有得到超链接上的URL)好的,试试页面的完整标记。特别是看看tag:我还想指出,在这种情况下不应该使用Server.UrlEncode(“abc”)。您可以将其替换为“~/Default.aspx?customer=&CompanyName=abc#”。实际上,我正在GridView控件中使用超链接控件,并在其中执行一些操作。但是,即使它在gridview之外,它也不能像预期的那样工作。
<%= ... %>