Вызов метода codebehind со страницы aspx из gridview - PullRequest
0 голосов
/ 24 ноября 2010

Как вы вызываете метод codebehind / class из gridview на странице aspx?Кроме того, мне нужно передать значение столбца с привязкой к данным этому методу.Возможно ли это?

Примерно так:

<asp:BoundField DataField="Precision" />
<asp:BoundField DataField="MyNumber" DataFormatString="FormatHelper.Format(MyNumber, Precision)" />

Ответы [ 3 ]

2 голосов
/ 24 ноября 2010

Редактировать: я проверял это на работу.

<asp:TemplateField HeaderText="My Number">
  <ItemTemplate>

        <asp:Label runat="server" 
           Text='<%# Eval("MyNumber", FormatHelper.Format((decimal)Eval("MyNumber"), (decimal)Eval("Precision") )) %>' />

  </ItemTemplate>
</asp:TemplateField>

Это работает, потому что метод Eval принимает DataFormatString в качестве необязательного второго параметра. примечание: убедитесь, что вы заменили приведения соответствующими типами для сигнатуры метода.

Более простым способом может быть привязка к проекции linq-to-objects.

myGridView.DataBind( from foo in fooList
                     select new {
                       MyNumber = MyNumber,
                       Precision = Precision,
                       MyFormattedNumber = FormatHelper.Format(MyNumber, Precision),
                     } );
1 голос
/ 24 ноября 2010
  1. GridView.DataKeys Недвижимость
  2. Button.CommandArgument Недвижимость
0 голосов
/ 24 ноября 2010
  1. Создайте поле шаблона в виде сетки.
  2. Добавьте кнопку в поле шаблона и присвойте кнопке имя команды (пример: "btn")
  3. Дескрипторсобытие rowdatabound и проверьте, если rowType=DataRow тогда:

    Получите кнопку в этой строке, используя метод FindControl, затем введите CommandArgument требуемое значение (пример: e.Row.DataItem("ID"))

  4. Обработка события rowcommand:

    Если имя команды = "btn", то кнопка нажата

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...