Microsoft JScript运行时错误:预期的对象(从代码隐藏调用JS函数)

时间:2013-07-25 21:19:43

标签: javascript asp.net .net

我试图从我的代码中调用Javascript函数,但是我得到了Object Expected js错误。

我对函数的调用:

            ClientScript.RegisterClientScriptBlock(GetType(), "script", "<script type=\"text/JavaScript\">returnVal();</script>");

我的javascript来自.aspx

<script language ="javascript">
function returnVal() {
    var hidAppID = document.getElementById("hidAppId");
    var hidAppName = document.getElementById("hidAppName");
    var hidAppSox = document.getElementById("hidAppSox");

    if (window.showModalDialog) {
        var sharedApp = {};
        sharedApp.Id = hidAppID.value;
        sharedApp.Name = hidAppName.value;
        sharedApp.Sox = hidAppSox.value;

        window.returnValue = sharedApp;
    }
    window.close();
}
</script>

javascript是有效的 - 我在页面上添加了一个临时按钮来测试对它的“onclicked”调用。不幸的是,我需要从代码中调用它。

2 个答案:

答案 0 :(得分:1)

尝试在没有嵌入标签的情况下调用它,但改为传递第三个参数:

ClientScript.RegisterClientScriptBlock(GetType(), "script", "returnVal();", true);

答案 1 :(得分:0)

您已将\returnVal();放入字符串中,这使\r成为carrage返回字符的转义序列,因此您将尝试调用函数eturnVal,而不是存在。

从代码中删除反斜杠:

ClientScript.RegisterClientScriptBlock(GetType(), "script", "<script type=\"text/JavaScript\">returnVal();\n</script>");