javascript
  • asp.net
  • 2013-05-17 4 views 2 likes 
    2

    У меня есть сетка. Я хочу, чтобы связать что-то вроде:Шаблон Gridview Javascript databinding

    <asp:TemplateField //stuff> 
        <ItemTemplate> 
        <asp:Label ID="lblEx" runat="server" text='<%# SomeJavascriptFunction(Eval("BOUND_FIELD_FROM_DB")) %>' ></asp:Label> 
        </ItemTemplate> 
    </asp:TemplateField> 
    

    Это точный синтаксис, кажется, не будет работать - это говорит мне, что функция не объявлена ​​(это). Я думаю, что он ищет SomeJavascriptFunction() в коде. Есть ли способ сделать эту работу?

    Я не могу найти правильную формулировку в моих поисках - результаты, похоже, касаются привязки gridview через javascript, что не совсем правильно.

    EDIT:

    У меня есть код-за версии реализована и работа - я бы хотел, чтобы снять нагрузку обработки с сервера.

    ответ

    1

    Итак, попробуйте с некоторыми JQuery магии:

    $(document).ready(function() { 
         $("[id*=lblEx]").each(function() { 
          $(this).text(someJavascriptFunction($(this).text())); 
         }); 
        }); 
        function someJavascriptFunction(id) { 
         return "the final text in the cell"; 
        } 
    

    я уже проверил это и работает.

    Привет,

    +0

    К сожалению, нет. Это просто отображает SomeJavascriptFunction (<% # Eval ("BOUND_FIELD_FROM_DB")%>) в ячейке. – Travis

    +0

    Спасибо. Я не совсем знаком с JQuery, но это очень полезно. – Travis

    0

    На самом деле она ищет код позади метода SomeJavascriptFunction() и возвращаемые данные из него будут связываться с этикеткой. Вы можете добавить соответствующий метод в код позади:

    public string SomeJavascriptFunction(object obj) 
    { 
        return "Some value"; 
    } 
    
    Смежные вопросы