我的代码
<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
每次编译时都会出现该错误。我不明白为什么。它应该可以工作。
最佳答案
看起来您正试图将 JavaScript 变量传递给 VB 方法。不幸的是,这不起作用,因为在执行 JavaScript 时,页面已经被解析并输出到浏览器(已经离开服务器)。
一种选择是通过使用 ajax 检索该值。
如果你已经有了隐藏字段的值,你能做这样的事情吗?
<script type="text/javascript" language="javascript">
function jsFullPath() {
return '<%= Server.MapPath('HiddenField1.Value') %>';
}
</script>
关于javascript - 为什么我的 javascript 参数给出 "It may be inaccessible due to a protection level."错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6102970/