Gridview があり、GridView 内で特定の列に Linkbuttons を追加します。私がやりたいことは、GridView で作成された LinkButton をクリックすると、ModalPopupExtender が表示されるようにすることです。
RowDataBound で作成された LinkButton:
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>
LinkButton をクリックすると、ModalPopupExtender が表示されますが、1 秒以内に再び消えます。PostBack が原因かどうかはわかりません。