Asp.net 向JS函数发送口述键

Asp.net 向JS函数发送口述键,asp.net,javascript,dictionary,Asp.net,Javascript,Dictionary,我试图向Javascript函数发送一个听写键(一个字符串) <% foreach (var field in Model.Fields) { %> <tr><td> <a href="#" onclick="javascript:EditField(<%= field.Key %>)"> <%= Html.Encode(field.Value.Name) %></a

我试图向Javascript函数发送一个听写键(一个字符串)

<%
    foreach (var field in Model.Fields)
    { %>
      <tr><td>
      <a href="#" onclick="javascript:EditField(<%= field.Key %>)">
      <%= Html.Encode(field.Value.Name) %></a>
      </td><tr>
<% } %>

向JS函数发送指令键时是否存在“gotchas”?

只能向javascript函数传递字符串和整数等简单类型。如果要传递复杂对象,需要对其进行JSON编码。在您的例子中,您没有提到字典键的.NET类型,但如果它是字符串,则需要将其置于引号之间,并且不要忘记对其进行HTML编码:

<a href="#" onclick="javascript:EditField('<%= Html.Encode(field.Key) %>')">

<a href="#" onclick="javascript:EditField('<%= Html.Encode(field.Key) %>')">