服务器URL以超链接编码

时间:2014-01-22 14:30:00

标签: asp.net url-encoding

我在我的datalist中有href链接。很少有客户名称带有''',' - '等等。我正在尝试使用Server.URLEncode,但它无效。

<asp:DataList ID="datalistRpt" runat="server">
  <HeaderStyle BackColor="#FAF0E6" Height="20px" />
  <AlternatingItemStyle BorderColor="Silver" BackColor="Transparent"></AlternatingItemStyle>
  <ItemStyle BorderColor="Transparent"></ItemStyle>

  <ItemTemplate>    
    <a style="font-size: x-small;" href="javascript:SetName(<%# Eval("Cust_ID")%>,'<%# Eval("CUST_NAME")%>')"><%# DataBinder.Eval(Container.DataItem ,"CUST_NAME") %></a>
    <a style="font-size: x-small;" href="javascript:SetName(Server.URLEncode((<%# Eval("Cust_ID")%>,'<%# Eval("CUST_NAME")%>'))"><%# DataBinder.Eval(Container.DataItem ,"CUST_NAME") %></a>
  </ItemTemplate>

</asp:DataList>

使用Javascript:

function SetName(var1, var2) {

  if (window.opener != null && !window.opener.closed) {

    var txtCustName = window.opener.document.getElementById("txtCustName");
    var txtCustID = window.opener.document.getElementById("txtCustID");

    txtCustName .value = var2;
    txtCustID .value = var1;  
  }
  window.close();
}

1 个答案:

答案 0 :(得分:1)

Server.URLEncode是服务器端代码。它必须在您的&lt;%#%&gt;中标签

相关问题