C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: DataGridView内のリンクボタンで別ウィンドウを開く


(過去ログ 98 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■58565 / inTopicNo.1)  DataGridView内のリンクボタンで別ウィンドウを開く
  
□投稿者/ BAN (1回)-(2011/04/15(Fri) 14:13:31)

分類:[ASP.NET (VB)] 

お世話になっております。
タイトルの事柄について回答いただきたく質問させていただきます。

環境はASP.net vb2010 
webアプリケーションを作成しております。

UpDataPanelで囲ったDataGridView内のリンクボタンが押下されたときに、別ブラウザを開きたいのですが、
うまくいきません。
UpDataPanelを無くすと開くのですが、それだとDataGridView内のソート処理などに支障が出てくるので
無くしたくありません。
UpDataPanelの<AsyncPostBackTrigger>にいろいろ試しに入れてみたのですが、自分が考え付くイベントを入れても
思い通りの動きが起きません。
どのようにしたら別ブラウザが起動するようになるのでしょうか。
お力添えよろしくお願いいたします。

--------------------------以下ソース------------------------------
●<aspx>

<asp:UpdatePanel ID="UPGrid" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional" >
<ContentTemplate>

   〜中略〜

  <asp:ButtonField DataTextField="REQUEST_NO" HeaderText="依頼No."
SortExpression="REQUEST_NO" CommandName="LinkRefernce" ShowHeader="True" >
<HeaderStyle Font-Size="10pt" Width="135px" Wrap="False" />
<ItemStyle Height="20px" HorizontalAlign="Left" VerticalAlign="Middle"
Width="135px" Wrap="False" />
</asp:ButtonField>

   〜中略〜

  </ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSearch" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="GV_List" EventName="Sorting" />
<asp:AsyncPostBackTrigger ControlID="GV_List" EventName="PageIndexChanging" />
</Triggers>
</asp:UpdatePanel>


●<aspx.vb>

Protected Sub GV_List_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GV_List.RowCommand
If e.CommandName = "LinkRefernce" Then
'' グリッドでクリックされた行のメインデータを取得する。

   〜略〜
   
Dim hLscript As String = "<script language=JavaScript>win=window.open('" + hLpath + "','_blank');</script>"
ClientScript.RegisterStartupScript(Me.GetType(), "win", hLscript)

End If
End Sub
--------------------------------------------------------------------
※ソース内は問題なく動いているのは確認済みです。
※UpDataPanelを外すと別ブラウザが起動してきます。
引用返信 編集キー/
■58573 / inTopicNo.2)  Re[1]: DataGridView内のリンクボタンで別ウィンドウを開く
□投稿者/ BAN (2回)-(2011/04/15(Fri) 16:37:29)
自レスです。
自己解決しましたので、解決法を記述しておきます。

aspx.vbソース内の
>>ClientScript.RegisterStartupScript(Me.GetType(), "win", hLscript)
の記述がUpDataPanel内では動かないという仕様でした。
この記述をAjaxを使用した
<ScriptManager.RegisterClientScriptBlock>
と書き換えましたところ、scriptが動作し、別ブラウザが起動しました。

参考ページはこちら
ttp://msdn.microsoft.com/ja-jp/magazine/cc163354.aspx

以上、お騒がせしました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -