0

I have href link in my datalist. There are few customer names with ''', '-' etc. I am trying to use Server.URLEncode, but it is not working.

<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();
}
Robbert
  • 6,481
  • 5
  • 35
  • 61

1 Answers1

1

Server.URLEncode is server side code. It must be in your <%# %> tag.

Francis
  • 367
  • 1
  • 10
  • You can also encode the url client side with your own function. It's easy to find an existing one on the net. – Francis Jan 22 '14 at 14:35