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 时页面已经被解析并输出到浏览器(已经离开服务器)。

一种选择是通过使用 ajax 来检索此值。

如果你已经有了隐藏字段的值,你可以做这样的事情吗?

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

您在服务器标签内引用hidefield(一个 JavaScript 对象)。异常本质上是告诉您隐藏字段未在服务器上定义。

为此,需要通过 Ajax 调用 fullpath 方法。

于 2011-05-23T21:06:38.970 回答