2016-10-09 1 views
0

Мне нужна помощь, у меня есть отдельное поле Шаблон в виде сетки, в котором я показываю всплывающее окно div, который имеет отдельные поля для заполнения внутри другой таблицы, он требует, чтобы я передавал «return false»; в функции JavaScript, чтобы поддерживать видимость формы, которая происходит только тогда, когда нет обратной связи. Итак, как я могу получить идентификатор текущей строки без обратной связи.Извлеките идентификатор текущей строки, щелкнув элемент управления кнопки html внутри gridview, но не выполнив обратную передачу

<asp:TemplateField HeaderText="Add Details"> 
<ItemTemplate> 
<button id="myBtn" onclick="return false;">Add Details</button> 
</ItemTemplate> 
</asp:TemplateField> 

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

<div class="modal-content"> 
 
    <span class="close">×</span> 
 
    <div> 
 
     <table cellpadding="0" cellspacing="0" > 
 
      <tr> 
 
       <td class="auto-style4" > 
 
        </td> 
 
       <td style="padding-right: 90px;" class="auto-style2"> 
 
        <div id ="div1" > 
 
         <img id="Img1" src="~/images/icon_plus.png" width="20" runat="server" /> 
 
        
 
         <a title="Add Room Detail" style="cursor: pointer;" onclick="addRow2('tblPets2')">Add Room Details 
 
          
 
        </div> 
 
       </td> 
 
      </tr> 
 
     </table> 
 
    </div> 
 
    <div style="margin-left: 3%;"> 
 
     <table id="tblPets2" cellpadding="0" cellspacing="0" class="custom-tablePopup"> 
 
      <tr> 
 
       <th>Amenity Name</th> 
 
       <th>Amenity Details</th> 
 
       
 
       <th class="auto-style1"></th> 
 
      </tr> 
 
      <tr> 
 
       <td><input type="text" name="Name" size="30" maxlength="30" placeholder="Amenity Name"/></td> 
 
       <td><input type="text" name="Length" size="30" maxlength="30" placeholder="Enter Amenity Detail"/></td> 
 
       <td class="auto-style1"> 
 
        <img alt="" src="images/icon_minus.png" style="width: 22px; cursor: pointer;" /></td> 
 
      </tr> 
 
     </table> 
 
     <script type="text/javascript"> 
 
      var count = "1"; 
 
      function addRow2(in_tbl_name2) { 
 
       var tbody = document.getElementById(in_tbl_name2).getElementsByTagName("TBODY")[0]; 
 
       // create row 
 
       var row = document.createElement("TR"); 
 
       // create table cell 2 
 
       var td1 = document.createElement("TD") 
 
       var strHtml2 = "<input type=\"text\" name=\"Name\" size=\"30\" maxlength=\"30\" placeholder=\"Amenity Name\"/>"; 
 
       td1.innerHTML = strHtml2.replace(/!count!/g, count); 
 
       // create table cell 3 
 
       var td2 = document.createElement("TD") 
 
       var strHtml3 = "<input type=\"text\" name=\"Length\" size=\"30\" maxlength=\"30\" placeholder=\"Enter Amenity Detail\"/>"; 
 
       td2.innerHTML = strHtml3.replace(/!count!/g, count); 
 
       // create table cell 4 
 
       
 
       var td5 = document.createElement("TD") 
 
       var strHtml6 = "<img src=\"images/icon_minus.png\" onclick=\"delRow()\" style=\"width: 22px; cursor:pointer;\" />"; 
 
       td5.innerHTML = strHtml6.replace(/!count!/g, count); 
 
       // append data to row 
 
       row.appendChild(td1); 
 
       row.appendChild(td2); 
 
       row.appendChild(td5); 
 
       count = parseInt(count) + 1; 
 
       // add to count variable 
 
       // append row to table 
 
       tbody.appendChild(row); 
 
      } 
 
      function delRow() { 
 
       var current = window.event.srcElement; 
 
       //here we will delete the line 
 
       while ((current = current.parentElement) && current.tagName != "TR"); 
 
       current.parentElement.removeChild(current); 
 
      } 
 
    </script> 
 

 
    </div> 
 
    <div> 
 
     <br /> 
 
     <asp:Button ID="Button1" runat="server" Text="Save" OnClick="btnSave_Click" /> 
 
    </div> 
 
    <div> 
 
     <asp:Literal ID="Literal1" runat="server"></asp:Literal> 
 
    </div> 
 

 
    </div>

теперь для меня проблема в том, что, как я должен принести идентификатор текущей строки которого кнопка HTML я есть щелкнуто, что тоже без обратной связи, потому что, когда post-back случается, видимость моего всплывающего окна сохраняется только на несколько секунд.

любая помощь и идеи будут оценены ... спасибо ...

+0

вы собираетесь выполнять работу сервера на стороне или на стороне клиента JavaScript? – Aravind

+0

Первым шагом является использование javascript на стороне клиента, с помощью которого я создал динамические текстовые поля, а затем я должен сохранить эту информацию с помощью ADO ... или так как до сих пор я думал об этом. –

+0

извините невозможно невозможно. у вас есть сложные вещи. – Aravind

ответ

0

Попробуйте это. Первая кнопка использует значение из базы данных. Второй номер строки GridView.

<asp:TemplateField> 
    <ItemTemplate> 
     <button id="myBtn" onclick="openModal('<%# Eval("field01").ToString() %>')" type="button">Add Details</button> 

     <button id="myBtn" onclick="openModal(<%# Container.DataItemIndex %>)" type="button">Add Details</button> 
    </ItemTemplate> 
</asp:TemplateField> 

И с помощью type="button" не будет никакой формы пост (PostBack).

0

попробовать с этим кодом,

<button id="myBtn" OnClientClick="clickfun(YourId)" onclick="return false;">Add Details</button> 

, а затем

function clickfun(id) 
{ 
    // logic 
} 
Смежные вопросы