2

アップロードされたドキュメントのパスを表示するリンクボタンがあります..タグ構造はそのようです

            <tr>
                <td>
                    <asp:Label ID="lblDoc" runat="server" Text="Document:"></asp:Label>
                </td>
                <td colspan="3">
                    <asp:LinkButton ID="lnkDoc" runat="server" PostBackUrl="~/Transfer.aspx"></asp:LinkButton>
                </td>
            </tr>

サーバー側でonclickイベントを処理しています。

Private Sub lnkDoc_Click(sender As Object, e As System.EventArgs) Handles lnkDoc.Click
    ClientScript.RegisterStartupScript(Me.GetType(), "onclick", "<script language=javascript>window.open('OpenDocument.aspx?DocumentPath=" & System.Web.HttpUtility.UrlEncode(lnkDoc.Text) & "', 'OpenUploadedDoc','left=0px,top=0px,width='+screen.availWidth+',height='+screen.availHeight+',menubar=yes,resizable=yes,scrollbars=1')</script>")
End Sub

しかし、ドキュメントのパスをクリックできません。リンクボタンの上にカーソルを置いても何も起こりません。問題は何ですか?

編集: クライアント側で onclick を追加しようとすると、次のエラーが発生します。

Transfer.Private Sub lnkDoc_Click(sender As Object, e As System.EventArgs)' は、'Private' であるため、このコンテキストではアクセスできません。

4

8 に答える 8

0
Protected Sub lnkDoc_Click(sender As Object, e As System.EventArgs) Handles lnkDoc.Click
    ClientScript.RegisterStartupScript(Me.GetType(), "onclick", "<script language=javascript>window.open('OpenDocument.aspx?DocumentPath=" & System.Web.HttpUtility.UrlEncode(lnkDoc.Text) & "', 'OpenUploadedDoc','left=0px,top=0px,width='+screen.availWidth+',height='+screen.availHeight+',menubar=yes,resizable=yes,scrollbars=1')</script>")
End Sub

注:イベントを非公開ではなく保護してください

また、クリックイベントをリンクボタンに追加する必要があります。

  <asp:LinkButton ID="lnkDoc" runat="server" PostBackUrl="~/Transfer.aspx" onclick="lnkDoc_Click"></asp:linkbutton>
于 2013-06-07T05:40:39.787 に答える
0

ボタンにテキストを追加し、ハンドラーを公開します。

于 2013-06-07T05:53:44.680 に答える
0

.aspx ページで onclick イベントを実行して確認してみてください。

私はそれがうまくいくことを願っています

于 2013-06-07T05:10:26.687 に答える
0

リンクボタンにクリックイベントを追加する必要があります。

<asp:LinkButton ID="lnkDoc" runat="server"  onclick="lnkDoc_Click"></asp:linkbutton>

あなたが書かなければならないファイルの後ろのページ

 Protected Sub lnkDoc_Click((ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkDoc.Click
        // code you want to run
    End Sub
于 2013-06-07T05:12:24.773 に答える