2014-01-22 11 views
0

我在我的數據列表中有href鏈接。有幾個客戶名稱與''',' - '等我試圖使用Server.URLEncode,但它不工作。超鏈接中的服務器URL編碼

<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

Server.URLEncode是服務器端的代碼。它必須位於您的<%#%>標記中。

+0

你也可以用你自己的函數對url客戶端進行編碼。在網上很容易找到現有的。 – Francis

+0

爲javascript找到一個:http://stackoverflow.com/a/332888/806975 –