2012-02-23 1 views
0

У меня есть следующий жерех: GridView управления:альтернатива использовать скрытые поля в GridView

<asp:GridView ID="myGridView" runat="server" OnRowDataBound="DataBound"> 
     <Columns> 
      <asp:TemplateField HeaderText="Title"> 
      <ItemTemplate>      

        <input id="docKey_cell" class="key" runat="server" type="hidden"/> 
        <input id="docFname_cell" class="fileName" runat="server" type="hidden"/> 
        <span class="docTitle"><%# Eval("Title")%></span> 

      </ItemTemplate> 
      </asp:TemplateField> 
    ... 

на строку двойным щелчком я открываю через Jquery внешнее окно передавая данные из скрытых полей. В этом конкретном случае мне просто нужно передать documentID (как строку) и физическое имя файла документа, представленного в строке, поэтому сохранить дополнительный SQL-запрос, чтобы получить эту информацию в новом открывшемся диалоговом окне.

До сих пор я часто использовал эту технику, когда мне нужно было иметь небольшие данные для использования с JQuery.

Однако я задаюсь вопросом, является ли это приемлемой практикой или существует лучший подход, который может улучшить производительность или работоспособность?

ответ

0

Открытие окна просто кажется неправильным. Поскольку вы уже используете jQuery, вы можете использовать его для запроса send off an Ajax для сохранения данных.

В качестве альтернативы использованию скрытых полей вы можете начать использовать HTML5 data-value attributes сегодня!

+0

В этом случае мне нужно открыть , так как оттуда мне нужно загрузить физический документ с удаленного. Мне было необходимо открыть это внешнее окно, просто чтобы там появилось всплывающее окно «Сохранить/Открыть» для загруженного файла. – Francesco

1

Я думаю, что один из лучших подходов является добавлением пользовательских атрибутов к элементу управления с информацией, необходимой и использовать JQuery, чтобы получить доступ к этим атрибутам, я думаю, что это лучший подход

+0

таким образом, если пользователь дважды щелкнул, вы можете получить доступ к информации через $ (this) .attr ("attributeName"), и это сэкономит вам много хлопот на получение правильного скрытого поля –

+0

Я отредактировал код: я буду использовать CSS класса, чтобы легко получить правильный скрытый файл из JQuery. Имеет ли использование скрытых полей другие недостатки? В противном случае, кажется, не так уж плохо продолжать использовать их вместо введения пользовательских атрибутов. Кроме того, бывает, что у меня есть разные данные, которые будут предоставляться как скрытые поля, поэтому не всегда одинаковы. – Francesco

+0

+1 Однако, поскольку использование пользовательских аттрутов также является возможной альтернативой! – Francesco

Смежные вопросы