Отправка Диктонического Ключа в функцию JS - PullRequest
0 голосов
/ 06 декабря 2009

Я пытаюсь отправить ключ Dictonary (который является строкой) в функцию Javascript.

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

Но в функции Javascript я получаю его как объект, который имеет весь объект 'FIELD', который у меня есть. Я не понимаю это как строку.

Моя функция JS выглядит так -

function EditField(field) {
// blah blah

}

Есть ли какие-либо ошибки при отправке Dictonary-ключей в функцию JS?

1 Ответ

0 голосов
/ 06 декабря 2009

Вы можете передавать только простые типы, такие как строки и целые числа, в функцию javascript. Если вы хотите передать сложные объекты, вам нужно кодировать их в JSON. В вашем случае вы не упомянули тип .NET вашего словарного ключа, но если это строка, вам нужно поместить ее в кавычки и не забудьте HTML кодировать ее:

<a href="#" onclick="javascript:EditField('<%= Html.Encode(field.Key) %>')">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...