0

私のコード

<script type="text/javascript" language="javascript">
        function jsFullPath(relPath) {
            var hidefield = document.getElementById('HiddenField1');
            hidefield.value = relPath;
            var fullPathStr = '<%= fullPath(hidefield.value) %>';
        }
</script>

Public Function fullpath(ByVal relPath As String) As String

    Dim fullPathStr As String = Server.MapPath(relPath)
    Return fullPathStr
End Function

コンパイルするたびに、そのエラーが発生します。理由がわかりません。それはうまくいくはずです。

4

2 に答える 2

2

JavaScript 変数を VB メソッドに渡そうとしているように見えます。残念ながら、JavaScript が実行されるまでに、ページは既に解析されてブラウザーに出力されている (既にサーバーから離れている) ため、これは機能しません。

1 つのオプションは、ajax を使用してこの値を取得することです。

隠しフィールドの値をすでに持っている場合、次のようなことができますか?

<script type="text/javascript" language="javascript">
        function jsFullPath() {
            return '<%= Server.MapPath('HiddenField1.Value') %>';
        }
</script>
于 2011-05-23T21:06:48.813 に答える
1

サーバー タグ内でhidefield (JavaScript オブジェクト) を参照しています。例外は、基本的に、サーバーで hidefield が定義されていないことを示しています。

これが機能するには、フルパス メソッドを Ajax 経由で呼び出す必要があります。

于 2011-05-23T21:06:38.970 に答える