グリッドビューには、各行のハイパーリンクを含む TemplateField があります。
<asp:TemplateField>
<HeaderStyle CssClass="gridHeader" HorizontalAlign="center" ForeColor="White" BackColor="Gray" VerticalAlign="Middle" />
<ItemStyle CssClass="gridItem" />
<ItemTemplate>
<asp:HyperLink id="hyplnkAuditTrail" runat="server" href="##">Audit Trail</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
および背後にあるコード:
Protected Sub gvHotelMarkup_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvHotelMarkup.RowDataBound
Try
If e.Row.RowType = DataControlRowType.DataRow Then
Dim hlnkAuditTrail As HyperLink = e.Row.FindControl("hyplnkAuditTrail")
hlnkAuditTrail.Attributes.Add("onclick", "audittrail(" & e.Row.DataItem("HotelId") & "," & ddlGS.SelectedValue & ");")
End If
Catch ex As Exception
lblErrMessage.Message = ex.Message()
End Try
End Sub
そしてjavascriptリンク
<script type ="text/javascript" language="javascript" >
function audittrail(HotelId,Source)
{ var strUrl = "frmGDSAuditTrail.aspx?HotelId=" + HotelId+"&Provider=" + Source;
var width = 700;
var height = 300;
var left = (screen.width/2)-(width/2);
var top = (screen.height/2)-(height);
window.open(strUrl,null,
'width='+ width +','+
'height='+ height+','+
'top=' + top +',' +
'left=' + left + ',' +
'status=yes,' +
'toolbar=no,' +
'menubar=yes,' +
'location=no,' +
'scrollbars=yes,' +
'resizable=yes'
);
}
しかし、リンクをクリックしても、新しいページは表示されません。
ブレークポイントを使用しましたが、ハイパーリンクの属性は問題なく境界付けられました。