как получить доступ к шаблону из кода позади - PullRequest
1 голос
/ 25 января 2011

причина, по которой я ищу динамическое обновление, заключается в том, что я использую objectdatasource, и у моего objectdatasource есть коллекция объектов, и в этом объекте у меня есть другой объект, к которому я хотел получить доступ, например:

+Student
  ......
  ......
  ......
  -Courses
    .........
    .........
    Name

Конец обновления

как мне связать поле шаблона из-за кода?

<asp:Gridview ID="gridview1" runat="Server">
<columns>
 <asp:TemplateField HeaderText="Name" SortExpression="Name">
                    <ItemTemplate>                       
                    </ItemTemplate> 
                </asp:TemplateField>

</columns>
</asp:Gridview>

Ответы [ 2 ]

3 голосов
/ 25 января 2011

Прежде всего, определите свое ключевое поле в элементе управления GridView, просто добавьте сетевой атрибут в разметку GridView: datakeynames="StudentID".

Для GridView можно использовать оба обработчика событий: RowDataBound или RowCreated. Просто добавьте один из этих обработчиков событий и найдите там элемент управления, который находится в вашем ItemTemplate Как здесь, например:

void ProductsGridView_RowCreated(Object sender, GridViewRowEventArgs e)
  {

    if(e.Row.RowType == DataControlRowType.DataRow)
    {
      // Retrieve the LinkButton control from the first column.
      Label someLabel = (Label)e.Row.FindControl("someLabel");
      if (someLabel != null)
      {
          // Get Student index
          int StudentId = (int)GridView.DataKeys[e.Row.RowIndex].Values[0];
          // Set the Label Text
          // Define here all the courses regarding to current student id              
          someLabel.Text = // 
      }
    }

  }

Этот пример был получен от MSDN

0 голосов
/ 25 января 2011

Вот несколько примеров кода из MSDN:

http://msdn.microsoft.com/en-us/library/aa479353.aspx

Они есть в VB, но вы также можете найти C #: -)

Если вы перейдете по этой ссылке и прокрутите вниз, вы найдете пример кода:

http://bytes.com/topic/asp-net/answers/624380-gridview-generated-programmatically

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