我想将 JSON 对象包含到 ASP.NET 页面中的 HyperLink rel 属性中,以便稍后通过 javascript 使用该对象。我正在使用这样的代码:
<asp:GridView ID="GridView" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" DataKeyNames="ID_MATERIALSAP" DataSourceID="dsMaterials">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="hlSelector" runat="server" NavigateUrl="#" rel='<%# ComposeJsonObject(Eval("ID_MATERIALSAP"), Eval("NAME")) %>' CssClass="selector" Text="Select"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
方法ComposeJsonObject
将 JSON 对象作为字符串返回。我的问题是 JSON 包含双引号 (") 字符并且绑定单引号 (') 被 ASP 替换为双引号。因此生成的代码无效,如下所示:
<a id="controlId" class="selector" rel="{"id":"300433460","title":"Material name"}" href="#">Select</a>
我怎样才能保持单引号引用的 rel 内容得到这样的结果:
<a id="controlId" class="selector" rel='{"id":"300433460","title":"Material name"}' href="#">Select</a>
还是有其他更好的解决方案?