Member 12893295 Ответов: 1

Grid view rowcommand не заполняет значение в текстовое поле, которое находится за пределами grid view in ASP.NET


У меня есть панель обновления, в которой у меня есть вид сетки.Вид сетки содержит кнопку изображения с аргументом команды, когда я нажимаю на imagebutton, я устанавливаю событие rowcommand, в котором я заполняю некоторое текстовое поле, которое присутствует на той же странице, но вне вида сетки, например, функциональность редактирования. Я вернул весь код. он выполняется правильно, но данные не отображаются в текстовом поле, даже предупреждение также не отображается, так что мне нужна помощь?

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

У меня есть код записи в rowcommand, но он не работает, а также у меня есть проверка с помощью события щелчка кнопки изображения, которое все еще не показывает данные.

F-ES Sitecore

Когда вы запускаете обновление панели обновления, оно может изменять только компоненты в этой панели обновления. Если у вас есть компонент вне панели, который вы хотите обновить, то вам нужно поместить этот компонент также в панель обновления и установить режимы обновления панелей на "всегда", чтобы обновление одного также обновляло другое.

1 Ответов

Рейтинг:
1

Member 13658881

GridView в
убедитесь, что вы используете правильное имя команды..

<asp:TemplateField HeaderStyle-Font-Bold="false" HeaderStyle-Font-Size="12px"
   HeaderText="Edit"
   ItemStyle-Font-Bold="false" ItemStyle-Font-
   Size="12px" ItemStyle-Width="20px">
   <ItemTemplate>
   <asp:ImageButton ID="Editimg" CausesValidation="false" runat="server"
   CommandName="Edit" Height="20px" ImageUrl="~/Images/edit.png"
                                          Width="20px" />
                                  </ItemTemplate>
                                  <HeaderStyle Font-Bold="False" Font-Size="12px" />
                                  <ItemStyle Font-Bold="False" Font-Size="12px"
                                           Width="20px" />
                              </asp:TemplateField>


с фоновым кодом...
   // if you have set visible false then you have to use this.. maincat.Columns[1].Visible = true;
            if (e.CommandName == "Edit")
            {
                ImageButton Editimg = (ImageButton)e.CommandSource;

                GridViewRow row = (GridViewRow)Editimg.NamingContainer;


                    
                    TextBox1.Text = row.Cells[1].Text;
                    TextBox2.Text = row.Cells[2].Text;
                   // how many textboxes you use here
                   

//if you have any conditon use this   if (row.Cells[3].Text == "No")
                  //  {
                 //       chkActive.Checked = false;
                 //   }
                 //   else
                 //   {
                 //       chkActive.Checked = true;
                 //   }


               //atlast you can use this if you have visible false in any row.     maincat.Columns[1].Visible = false;

                    
            }


Member 12893295

должен ли я поместить код в событие rowcommand или любое другое событие? потому что я сделал с row commmand все, что вы дали, но это не работает. я поместил свой код ниже:
&ЛТ;как ASP:scriptmanager при ИД="ScriptManager1" атрибут runat="сервер"и GT;

&ЛТ;как ASP:UpdatePanel и ИД="UpdatePanel1" помощью updatemode="всегда" атрибут runat="сервер"и GT;
<contenttemplate>
&ЛТ;в ASP:GridView в идентификатор="grdUpdate" атрибут runat="сервер" свойства backcolor="#DEBA84" необходимо="#DEBA84"
BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2"
OnRowCommand="grdUpdate_RowCommand" OnRowDataBound="grdUpdate_RowDataBound">
<колонки>
<asp:TemplateField HeaderText="Edit">
<itemtemplate>
&ЛТ;как ASP:ImageButton с ИД="lbledit" атрибут runat="сервер" CommandArgument='&л;%#Ивала("идентификатор") %&ГТ;'
CommandName="Edit" CausesValidation="false"
Url_изображения="~/изображения/логотипа всадника.МБО" ширина="20 ПКС" высота="20 ПКС" /&ГТ;


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


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


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



<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
&ЛТ;HeaderStyle свойства backcolor="#A55129" шрифт-жирный="истинный" цвет="белый" /&ГТ;
<PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
&ЛТ;SelectedRowStyle свойства backcolor="#738A9C" шрифт-жирный="истинный" цвет="белый" /&ГТ;
<SortedAscendingCellStyle BackColor="#FFF1D4" />
<SortedAscendingHeaderStyle BackColor="#B95C30" />
<SortedDescendingCellStyle BackColor="#F1E5CE" />
<SortedDescendingHeaderStyle BackColor="#93451F" />




ИДЕНТИФИКАТОР
&ЛТ;АСП:текстовое поле с ID="txtid" атрибут runat="сервер"и GT;
Имя
&ЛТ;АСП:текстовое поле с ID="txtName" атрибут runat="сервер"и GT;
Возраст
&ЛТ;АСП:текстовое поле с ID="txtAge" атрибут runat="сервер"и GT;




--------------------------------------------------------
охраняемых недействительными grdUpdate_RowCommand(объект отправителя, GridViewCommandEventArgs е)
{
пробовать
{
если (электронная.Имя_команды == "Редактировать")
{
ImageButton img = (ImageButton)e.CommandSource;
GridViewRow row = (GridViewRow)img.NamingContainer;