javascript - 从代码隐藏中的javascript函数检索值

标签 javascript c# asp.net code-behind

如何在页面加载时从代码隐藏中的 javascript 函数中检索值.. JavaScript 函数如:

<script type="text/javascript">
        function isIFrame() {
            var isInIFrame = (top.location != self.location);
            if (isInIFrame) {
                return "inside";
            }
            else {
                return "outside";
            }
        }
    </script>

和代码背后像:

protected void Page_Load(object sender, EventArgs e)
    {
        string resutOfExecuteJavaScript = "";
        // resutOfExecuteJavaScript = isIFrame(); // from javascript

        if (resutOfExecuteJavaScript == "inside")
        {
            // do something
        }
        else
        {
            // do something
        }
    }

谢谢。

最佳答案

您不能直接从服务器端代码调用客户端 javascript 方法。为此,您首先需要将函数结果分配给某个隐藏变量的值,然后在服务器端访问它

假设你有一个像这样的隐藏字段

<input type="hidden" runat="server" id="hdnVal"/>

然后你可以设置如下值

document.getElementById("hdnVal").value=isIFrame();

然后在服务端

 string resutOfExecuteJavaScript = hdnVal.Value;

关于javascript - 从代码隐藏中的javascript函数检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31136426/

相关文章:

javascript - 那里出了什么问题? textarea 什么都不显示,但值是

javascript - 同一个 Electron 窗口中的两个浏览器

c# - XamDataGrid 列位置索引 : Field. 索引或 Field.ActualPosition.Column

c# - 如何使用ASP.NET在URL查询字符串中转义单引号

asp.net - 是否有用于复杂 aspnet UI 验证的设计模式?

javascript - react 路由器导航链接不会在路线更改时更新

javascript - hasOwnProperty 不适用于对象数组、组合对象

c# - 通用类型的类型删除,更好地替代动态

c# - 在 .Net 中调用命名空间的最佳方法是什么

c# - 不支持“MultipleActiveResultsSets”关键字