1

Gridview があり、GridView 内で特定の列に Linkbuttons を追加します。私がやりたいことは、GridView で作成された LinkBut​​ton をクリックすると、ModalPopupExtender が表示されるようにすることです。

RowDataBound で作成された LinkBut​​ton:

Private Sub grdDetails_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grdDetails.RowDataBound
Try
  Try
    If Not iColAttachent Is Nothing Then
      For Each i In iColAttachent
        If e.Row.DataItem(i - 1).ToString.Trim.Length > 0 Then
          Dim c As New TableCell
          Dim LB As New LinkButton
          Dim strBookNo As String = e.Row.DataItem(i - 1).ToString

          ' Create link
          LB.ID = "LB_" & strBookNo
          LB.Text = strBookNo.Substring(strBookNo.IndexOf("_") + 1)
          LB.ToolTip = "Click to change book number"
          LB.Attributes.Add("AutoPostBack", "False")
          LB.Attributes.Add("OnClick", "ShowModal()")
          'HL.Attributes.Add("runat", "server")

          e.Row.Cells().RemoveAt(i)
          e.Row.Cells().AddAt(i, c)
          c.Controls.Add(LB)
        End If
      Next
    End If
  Catch
    ' nothing to do
  End Try
Catch ex As Exception

End Try
End Sub

ModalPopupExtender を表示するための JavaScript:

<script language="javascript" type="text/javascript">
    function ShowModal() {
        var modal = $find('ModalPopupExtender1');
        modal.show();
    }
</script>

ModalPopupExtender

<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="LinkButton1" PopupControlID="Panel1" DropShadow="true"
            BackgroundCssClass="modalBackground" CancelControlID="cmdCancel" BehaviorID="ModalPopupExtender1" Drag="true">

            </asp:ModalPopupExtender>

LinkBut​​ton をクリックすると、ModalPopupExtender が表示されますが、1 秒以内に再び消えます。PostBack が原因かどうかはわかりません。

4

1 に答える 1