2015-06-23 57 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有時它只需要一雙新鮮的眼睛;) –

相關問題