網頁

2011年3月31日 星期四

Asp.net控件屬性-字串包含字串

Last Update: 2011/03/31 20:52+08

最近常被同事問到這個問題

.net的控制項某個屬性要用字串
那個字串是javascirpt
那個javascript裡頭還有字串
第一個想法就是 單引號 包 雙引號 再包 單引號

沒錯!是不行的
屬性值用 單引號 後, 遇到下一個單引號就代表結束
但解法還是有的XD
把裡面單引號用html碼 (')代替

<%
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Rows.Add("01", "John");
dt.Rows.Add("02", "Mary");
GridView1.DataSource = dt;
GridView1.DataBind();
%>

<asp:GridView ID="GridView1" runat="server"><Columns>
<asp:TemplateField><ItemTemplate>
<asp:HyperLink ID="hlEdit" runat="server" 
NavigateUrl='<%#"javascript:alert(&#39;"+Eval("id")+"&#39;);" %>'>
Edit</asp:HyperLink>
</ItemTemplate></asp:TemplateField>
</Columns></asp:GridView>