2017-01-17 10 views
0

問題があります。私はjavascriptによって変更されたgridviewの値を取得する必要があります。javascriptによって変更されたgridview値を取得する方法

私の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

私は主なポイントを得ました。 Ispostbackプロパティを持たないページロードイベントでは、gridviewのバインドだけでした。 最初にイベントを発生させるたびに、そのページのロードイベントは、

if(!IsPostBack) 
{ 
    bindgrid(); 
} 
関連する問題