heta.dave Ответов: 1

Получение данных gridview со страницы содержимого на главную страницу


Я не получаю данные GridView страницы содержимого для нажатия кнопки страницы site.master.cs.
Я хочу получить доступ к данным GridView страницы содержимого aspx на главную страницу.. как я могу это сделать?
пожалуйста, помогите мне..

Что я уже пробовал:

Я попробовал на странице site.master.cs ..
GridView grvOrganizer = (GridView)ContentPlaceHolder1.FindControl("grdOrganizer");

 DataTable dtOrganizerUser = new DataTable();
dtOrganizerUser = new DataTable("user");
                    dtOrganizerUser.Columns.Add(new DataColumn("ID", typeof(int)));
                    dtOrganizerUser.Columns.Add(new DataColumn("hdID", typeof(int)));
                    dtOrganizerUser.Columns.Add(new DataColumn("organizerName", typeof(string)));
                    dtOrganizerUser.Columns.Add(new DataColumn("Image", typeof(string)));
                    dtOrganizerUser.Columns.Add(new DataColumn("AboutOrganizer", typeof(string)));


foreach (GridViewRow row in grvOrganizer.Rows)
                    {
                        DataRow dtORow = dtOrganizerUser.NewRow();
                        DataRow dtSRow = dtSpeakerUser.NewRow();
                        
                            //Session["ID"] = item.ProductUserID;
                            //dtORow["ID"] = item.ProductUserID;
                       // dtORow["hdID"] = Convert.ToInt32( grvOrganizer.Rows[0].Cells[0].Text);
                         dtORow["organizerName"] =row.Cells[1].Text; 
                        //dtORow["Image"] = grvOrganizer.Rows[0].Cells[2].Text;
                        dtORow["AboutOrganizer"] = grvOrganizer.Rows[0].Cells[3].Text;
                            dtOrganizerUser.Rows.Add(dtORow);
                    }

sameer549

вы получаете какие-нибудь исключения ?
использовали ли вы какие-либо шаблоны элементов при проектировании gridview ?

heta.dave

Я не получаю данные на странице cs..

мой gridview выглядит следующим образом:

&ЛТ;в ASP:GridView в атрибут runat="сервер" идентификатор="grdOrganizer" AutoGenerateColumns="false" - в CssClass="таблица" OnRowCommand="grdOrganizer_RowCommand"&ГТ;
& lt;колонки>
<asp:TemplateField HeaderText= "ID">
& lt;itemtemplate>
&ЛТ;АСП:метка идентификатор="lblID" атрибут runat="сервер" текст=в'<%#Ивала("идентификатор") %&ГТ; в'>
&ЛТ;как ASP:HiddenField идентификатор="hdOrgId" атрибут runat="сервер" значение=в'<%#Ивала("hdID") %&ГТ; в'>


<asp:TemplateField HeaderText= "имя организатора" >
& lt;itemtemplate>
&ЛТ;АСП:метка идентификатор="lblname" атрибут runat="сервер" текст=в'<%#Ивала("organizerName") %&ГТ; в'>


<asp:TemplateField HeaderText= "Image">
& lt;itemtemplate>



<asp:TemplateField HeaderText= "об организаторе" >
& lt;itemtemplate>
&ЛТ;АСП:метка идентификатор="lblAboutOrganizer" атрибут runat="сервер" текст=в'<%#Ивала("AboutOrganizer") %&ГТ; в'>


<asp:TemplateField HeaderText= "удалить">
& lt;itemtemplate>
&ЛТ;как ASP:LinkButton элемент ID="lnkDelete" CommandArgument='&л;%#Ивала("код") + "," + оценки("hdID") %&ГТ;' Имя_команды="вызова метода deleterow" атрибут runat="сервер" текст="удалить"и GT;



sameer549

если вы используете шаблоны элементов, то сначала вам нужно получить доступ к элементу управления из строки gridview, а затем вы можете получить доступ к тексту конкретного элемента управления.

например,
Метки lblID = (лейбл)гв.Строки[индекс].ячейки[0].FindControl("lblID");
строковое значение = lblID. Text;

heta.dave

можно ли получить текст управления элементом с главной страницы?

sameer549

да, прочтите мой вышеприведенный комментарий должным образом, в вашем c#,
Шаг 1: доступ к gridview с главной страницы
Шаг 2: Цикл по строкам gridview
Шаг 3: во время цикла найдите любые элементы управления (label/textbox/linkbutton) из строки gridview, а затем вы можете получить свойства/значения из этого элемента управления

heta.dave

хорошо, спасибо за помощь..

Richard Deeming

Наличие кода на главной странице, зависящего от элементов управления на странице содержимого,-это запах кода. Что-то серьезно не так с вашим дизайном.

sameer549

да ты прав Ричард

1 Ответов