2009-11-16 2 views
0

У меня есть страница asp.net с пользовательским элементом управления, который содержит выбираемое gridview и формуляр, который находится на странице напрямую.ASP.NET 2.0 C# - Пара проблем с GridView внутри UserControl

Первый выпуск: Я хочу, чтобы индекс страницы FormView был выбранным индексом GridView. Я могу получить SelectedIndex из GridView, делая это:

public virtual int SelectedIndex 
    { 
     get { return this.GridView1.SelectedIndex; } 
     set { this.GridView1.SelectedIndex = value; } 
    } 

Тогда на моей странице ASPX я могу это сделать:

FormView1.PageIndex = CodeView1.SelectedInex; 

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

Второй выпуск

На GridView (то же самое, что и выше один), у меня есть ItemTemplate для выбора команды, которая является осина: LinkButton. Всякий раз, когда я нажимаю ссылку «Выбор» в gridview, все форматирование, которое я установил в функции rowdatabound, отменяется.

К примеру, у меня есть это в моем RowDataBound:

HyperLink TicketDetailLink = new HyperLink(); 
TicketDetailLink.NavigateUrl = "TicketDetail.aspx?TicketNumber=" + TicketNumber; 
TicketDetailLink.Text = TicketNumber; 
e.Row.Cells[5].Controls.Add(TicketDetailLink); 

Но как только я нажимаю мой выберите ссылку, то гиперссылка исчезает. Мысли?

ответ

1

Первый выпуск:

 string key; 

     LinkButton myLink = (LinkButton)sender; 
     GridViewRow gridview = (GridViewRow)myLink.Parent.Parent; 

*Assign2Control*= gvManagePlanning.DataKeys[gridview.RowIndex].Value.ToString();. 

Это, как я получаю значение из моего GridView. Добавьте шаблон шаблона к вам gridview и поместите в него ссылку. Поместите этот код в событие onclick. Добавьте значение, которое вы хотите получить, к datakeynames, чтобы оно хранилось в Datakeys. Вам нужно будет изменить индекс datakey, если имеется более одного datakeys.

Второй выпуск:

 <asp:HyperLink ID="HyperLink1" runat="server" 
NavigateUrl='<%# Eval("TicketNumber", "TicketDetail.aspx?TicketNumber={0}") %> 
    Text="TicketNumber"></asp:HyperLink> 
Смежные вопросы