【问题标题】:passing arguments to javascript function from code-behind , error从代码隐藏将参数传递给javascript函数,错误
【发布时间】:2011-12-08 09:45:32
【问题描述】:

在后面的代码中:

    string func = "showSuccessMessage("+name+");";
    ClientScript.RegisterStartupScript(this.GetType(), "success", func, true);

在 js 文件中:

   function showSuccessMessage(user)
   {
        $("#box").dialog({
            title:"User Registration",
            html: user.toString() + " Successfully Registered", 
            modal: true,
            buttons: {
                   Ok: function () {
                    $(this).dialog("close");
                    var s = "../Pages/main.aspx";                
                    window.location = s;
                   }
        }
   });
 } // end function 

当我尝试传递不带参数的 func 字符串时,一切正常

当我尝试将参数附加到函数字符串中时,我从浏览器收到错误

Uncaught ReferenceError: john is not defined

(john 是 name 的值) 现在我猜测问题的发生是因为函数的注册方式无法区分变量和值,所以它是一个非定义类型 john

所以问题是:

如何从代码隐藏向 javascript 函数发送参数

提前致谢 埃兰。

顺便说一句类似的问题: 显示类似于我尝试过的东西

similar question

【问题讨论】:

    标签: c# javascript asp.net argument-passing


    【解决方案1】:

    您编写它的方式就像将john 作为变量而不是字符串传递。这就像调用

    showSuccessMessage(john); // what you're doing in js
    showSuccessMessage('john'); // what you need
    

    改正

    string func = "showSuccessMessage('"+name+"');"; 
    

    【讨论】:

    • 10x allot ,我知道这是我没想过放 ' ' 的问题。
    猜你喜欢
    • 2010-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 2014-12-28
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多