Вставьте скрытый столбец в asp: GridView, но все еще доступен на стороне клиента - PullRequest
4 голосов
/ 08 октября 2010

Это просто. Все, что я хочу сделать, это вставить скрытый столбец в asp: Griview, к которому я смогу получить доступ через javascript. Есть указатели?

Ответы [ 4 ]

10 голосов
/ 08 октября 2010

Вы можете скрыть столбец, установив его свойство CssClass, например:

<style>
.hidden {display:none;}
</style>

...

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="Id" ItemStyle-CssClass="hidden"
            HeaderStyle-CssClass="hidden" />
        <asp:BoundField DataField="Title" />
    </Columns>
</asp:GridView>
3 голосов
/ 08 октября 2010

Атрибут элемента

ItemStyle-CssClass="hidden"

класс css

.hidden{ display: none; }
2 голосов
/ 08 января 2013

Это то, что я сделал. Я создал скрытое поле внутри TemplateField на странице .aspx

<asp:TemplateField>
  <ItemTemplate>
    <asp:HiddenField ID="ITEM_VAL" runat="server" Value='<%# Bind("ITEM_VAL") %>' />
  </ItemTemplate>
</asp:TemplateField>

Тогда в коде файла -

protected Sub gvHist_RowDataBound()
  Dim val as Integer
  Dim hiddenCol As HiddenField = e.Row.FindControl("ITEM_VAL")
  val = Convert.ToInt32(hiddenCol.Value)
End Sub
1 голос
/ 08 октября 2010

Добавьте к этому свойство CSS display:none. Это будет невидимым, но все еще присутствует в разметке.

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

...