2015-06-23 48 views
0

C#使用后面代码的参数触发js函数。 我有以下代码:使用背后代码的参数触发js函数

C#:

ScriptManager.RegisterStartupScript(this, this.GetType(), "ScriptManager1", String.Format(@"ShowHideMessageBlock('{0}')", @"#successMsg"), true); 

JS:

function ShowHideMessageBlock(xid) { 
    var c = xid; 
    console.log(c); 

    $(c).fadeIn('slow', function() { 
     $(this).delay(5000).fadeOut('slow'); 
    }); 
} 

当我打开控制台窗口,我得到以下信息:未捕获的SyntaxError:意外的标识

呈现的功能现在是:

<script type="text/javascript"> 
//<![CDATA[ 
ShowHideMessageBlock('#successMsg')Sys.Application.add_init(function() { 
    $create(Sys.UI._UpdateProgress, {"associatedUpdatePanelId":null,"displayAfter":500,"dynamicLayout":true}, null, null, $get("updateProgress")); 
}); 
//]]> 
</script> 

有人可以帮我解决这个问题。 (它在过去工作),也许我已经改变/打破了一些东西,它不再工作。

+0

那里'Sys.Application.add_init'东西来自哪里?另外,我认为'ShowHideMessageBlock()'应该以分号结尾。 –

回答

0

您需要做的就是在String.Format调用的末尾添加一个分号。

ScriptManager.RegisterStartupScript(this, this.GetType(), "ScriptManager1", 
    String.Format(@"ShowHideMessageBlock('{0}');", @"#successMsg"), true); 
+0

谢谢你的工作。 这是一个漫长的一天。 我怎么没有看到 – Babulaas

+0

@Babulaas有时它只需要一双新鲜的眼睛;) –

相关问题