Проблема Гридвью Boundfield - PullRequest
2 голосов
/ 15 декабря 2011

В моей форме есть gridvew с некоторыми полями.Я добавил два поля в свой gridview, потому что я хотел использовать данные в них в моем коде позади и извлекать их из кода позади, но дело в том, что я не хочу, чтобы эти столбцы были видны в gridview, поэтому я попытался установитьих видимый атрибут «Ложь», но это не сработало, у меня не было доступа к их данным.как это может быть достигнуто?

        <asp:BoundField DataField="Service_Id" HeaderText="Service_Id"   SortExpression="Service_Id" HeaderStyle-BackColor="Gray"
            Visible="true">
            <HeaderStyle BackColor="Gray"></HeaderStyle>
        </asp:BoundField>
        <asp:BoundField DataField="UserId" HeaderText="UserID" SortExpression="UserId" HeaderStyle-BackColor="Gray"
            Visible="true">
            <HeaderStyle BackColor="Gray"></HeaderStyle>
        </asp:BoundField>

А это код моей страницы:

    Button Button1 = (Button)sender;
        GridViewRow grdRow = (GridViewRow)Button1.Parent.Parent;
        HiddenFieldServiceID.Value = grdRow.Cells[0].Text;
        HiddenFieldUserID.Value = grdRow.Cells[1].Text;

1 Ответ

5 голосов
/ 15 декабря 2011

Вы не должны использовать BoundField для этого. Вместо этого используйте свойство DataKeyNames . Значения могут быть получены с помощью DataKeys[rowIndex]

ASPX:

DataKeyNames="Service_Id, UserId";

Код:

var Service_Id = (int)gv.DataKeys[rowIndex]["Service_Id"];
var UserId = (int)gv.DataKeys[rowIndex]["UserId"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...