我在.aspx文件中有这个javascript函数。
<script>
function somefun(value)
{
}
<script>
我在代码隐藏类中调用并传递一个值给该函数。
ScriptManager.RegisterStartupScript(this, typeof(string), "Passing", String.Format("somefun('{0}');", filePath1), false);
但是当它运行时,该功能无法正常工作。我正在获得这样的打印输出
&#34; somefun(变量内容)&#34;
会出现什么问题?
答案 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");
}