jquery и asp.net справка по gridview

#jquery #asp.net #vb.net

#jquery #asp.net #vb.net

Вопрос:

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

ASPX:

 <asp:GridView AutoGenerateColumns="False" Width="100%" ID="grvUsers" runat="server">
    <Columns>
        <asp:TemplateField HeaderText="Delete">
            <ItemTemplate>
                <asp:LinkButton ID="Label1" runat="server" Text='<%# eval("ID") %>'></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
  

Визуализация HTML:

 <table cellspacing="0" rules="all" border="1" id="grvUsers" style="width: 100%; border-collapse: collapse;">
    <tr>
        <th scope="col">Delete</th>
    </tr>
    <tr>
        <td>
            <span id="grvUsers_Label1_0">23</span>
        </td>
    </tr>
</table>
  

jQuery:

 $(document).ready(function(){
    $('td:nth-col(0)').click(function(){
        alert("OMG");
    });
});
  

Комментарии:

1. Где в этом HTML вы видите <tbody/> элемент?

2. работает ли это со встроенным селектором jquery :first-child . каков результат just $('td:nth-col(0)') , есть ли у вас результат?

Ответ №1:

Вместо того, чтобы пытаться добавить событие с помощью js, вы можете просто использовать :

 <asp:LinkButton ID="Label1" onClick="myAlertFunction();" runat="server" Text='<%# eval("ID") %>'></asp:LinkButton>
  

Я бы рекомендовал вам ознакомиться с этой документацией по jquery:
Диалог Jquery с модальным

Комментарии:

1. хорошо, итак, когда я вызываю эту функцию, как мне отобразить модальную? Или я должен сказать, как мне вызвать jquery из функции javascript? извините, я новичок.

2. @jack Это вопрос о захвате события щелчка или вопрос о том, как создать модальное всплывающее окно?

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

Ответ №2:

  1. Вы можете просто использовать ajax для модального всплывающего окна, это работает намного лучше, чем использование библиотеки jquery (есть исключения ..)

  2. Вы можете использовать командное поле выбора в качестве удаления и обработать событие в вашем SelectIndexchanging или удалить любое из них.

Добавьте это в свой gridview

 <asp:CommandField HeaderText="Delete" ButtonType="Link" ShowSelectButton="true"
SelectText='<%# eval("ID") %>' />
  

Поиск кода:

 protected void mygridview_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
        //here you can do anything with the id
        string id = mygridview.Rows[e.NewSelectedIndex].Cells[1].Text;

        mdlPopup.Show();
}
  

Всплывающее окно Ajax:

 <asp:Button id="btnShowPopup" runat="server" style="display:none" />
<ajaxToolkit:ModalPopupExtender
ID="mdlPopup" 
runat="server" 
TargetControlID="btnShowPopup" 
PopupControlID="pnlPopup" 
CancelControlID="btnClose" 
BackgroundCssClass="Inactive" />
<asp:Panel ID="pnlPopup" runat="server" Width="500px" style="display:none;">
  <!--here you put any content that will go inside your popup-->
</asp:Panel>