2017-01-17 8 views
0

У меня проблема. Мне нужно получить значения gridview, которые были изменены javascript.Как получить значения gridview, которые были изменены с помощью javascript

мой GV является:

<asp:GridView ID="GridViewImageList" CssClass="GridView" HeaderStyle-CssClass="GridViewHeader" RowStyle-CssClass="GridViewRow" FooterStyle-CssClass="GridViewFooter" runat="server" AutoGenerateColumns="False" OnRowCancelingEdit="GridViewImageList_RowCancelingEdit" OnRowDeleting="GridViewImageList_RowDeleting" OnRowEditing="GridViewImageList_RowEditing" OnRowUpdating="GridViewImageList_RowUpdating" OnRowDataBound="GridViewImageList_RowDataBound"> 
     <Columns> 
      <asp:CommandField ShowEditButton="false" /> 
      <asp:CommandField ShowDeleteButton="True" /> 
      <asp:TemplateField HeaderText="Image Name" Visible="false"> 
       <ItemTemplate> 
        <asp:Label ID="LabelImageName" runat="server" Text='<%# Eval("ImageName") %>'></asp:Label> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="Image"> 
       <ItemTemplate> 
        <asp:Image ImageUrl='<%# Eval("ImageThumbURL") %>' runat="server" Height="75" /> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="Size"> 
       <ItemTemplate> 
        <asp:DropDownList ID="DropDownListPhotoSize" runat="server"></asp:DropDownList> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="Number of Copy"> 
       <ItemTemplate> 
        <asp:TextBox ID="TextBoxNumber" runat="server" MaxLength="3" Width="20px" Text='<%# Eval("Number") %>'></asp:TextBox> 
       </ItemTemplate> 
      </asp:TemplateField> 

     </Columns> 
    </asp:GridView> 

, введя ниже текстовое поле: и функция JS:

function updateAllTextbox(obj, item) { 
     var totalRows = parseInt('<%= GridViewImageList.Rows.Count %>'); 
     var gvAllControl = document.getElementById('<%= GridViewImageList.ClientID %>'); 
     var gvItemControls = ""; 
     var gvHeaderControl = ""; 
     if (item == "number") 
     { 
      gvItemControls = "TextBoxNumber"; 
      gvHeaderControl = document.getElementById("textBoxNumberAll"); 
     } 

     //get an array of input types in the gridview 
     var inputTypes = gvAllControl.getElementsByTagName("input"); 

     for (var i = 0; i < inputTypes.length; i++) { 
      //if the input type is a checkbox and the id of it is what we set above 
      //then check or uncheck according to the main checkbox in the header template    
      if (inputTypes[i].type == 'text' && inputTypes[i].id.indexOf(gvItemControls, 0) >= 0) 
       inputTypes[i].value = obj.value; 


     } 

    } 

я меняюсь значения TextBoxNumber поле от всех строк.

Но когда я читаю значения из Gridview, он не отображает измененное значение. пожалуйста, помогите

ответ

0

наконец-то я получил главный пункт. Это не что иное, как привязка gridview в событии загрузки страницы без свойства Ispostback. Каждый раз, когда вы запускаете какое-либо событие в первую очередь, это событие загрузки страницы запускает только привязку сетчатого экрана ur, используя

if(!IsPostBack) 
{ 
    bindgrid(); 
} 
Смежные вопросы