将值传递给C#代码后面的Javascript函数

时间:2014-09-07 04:55:45

标签: c# javascript asp.net code-behind

我在.aspx文件中有这个javascript函数。

<script>
    function somefun(value)
    {

    }
<script> 

我在代码隐藏类中调用并传递一个值给该函数。

ScriptManager.RegisterStartupScript(this, typeof(string), "Passing", String.Format("somefun('{0}');", filePath1), false);        

但是当它运行时,该功能无法正常工作。我正在获得这样的打印输出

&#34; somefun(变量内容)&#34;

会出现什么问题?

4 个答案:

答案 0 :(得分:1)

尝试:

ScriptManager.RegisterStartupScript(this, typeof(Page), "Passing", String.Format("somefun('{0}');", filePath1), false);        

来源:http://msdn.microsoft.com/it-it/library/bb350750(v=vs.110).aspx

答案 1 :(得分:0)

首先,我喜欢在客户端浏览器上使用函数来执行Javascript代码......

#region ExecuteJavascript
private int _intScriptIndex = 0;
private void ExecuteJavascript(string strScript)
{
    System.Web.UI.ScriptManager.RegisterStartupScript(Page, typeof(Page), "ExecuteScript" + _intScriptIndex++, strScript, true);
}
#endregion

现在我只是像这样调用JavaScript ......

ExecuteJavascript("alert('test');");

要使用变量调用函数,您可以执行此操作...

ExecuteJavascript(String.Format("somefun('{0}');", filePath1));

应该这样做。我的工作原理和你的工作的关键不在于RegisterStartupScript的属性,注意我传递了Page和typeof(Page)你放置字符串的位置。

答案 2 :(得分:0)

请试试这个

ScriptManager.RegisterStartupScript(this, typeof(string), "Passing", "somefun('" + filePath1 + "');" ,false); 

答案 3 :(得分:0)

这应该有用。

C#代码:

String vls_variable = "TestData";
ScriptManager.RegisterStartupScript(this, typeof(string), "script1", "SampleJSFunction('" + vls_variable + "');", true);

JavaScript函数:

function SampleJSFunction(variable) 
{  
    var data = variable;
    alert("working");            
}