Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从C调用JavaScript函数# Javascript.js C#文件_C#_Javascript_Asp.net_Function - Fatal编程技术网

从C调用JavaScript函数# Javascript.js C#文件

从C调用JavaScript函数# Javascript.js C#文件,c#,javascript,asp.net,function,C#,Javascript,Asp.net,Function,请参考上面的代码,并建议我从C#..aspx文件的头部分调用JavaScript函数 如果您想在C#中调用JavaScript函数,这将帮助您: public string functionname(arg) { if (condition) { Page page = HttpContext.Current.CurrentHandler as Page; page.ClientScript.RegisterStartupScript(

请参考上面的代码,并建议我从C#.

.aspx文件的头部分调用JavaScript函数
如果您想在C#中调用JavaScript函数,这将帮助您:

public string functionname(arg)
{
    if (condition)
    {
        Page page = HttpContext.Current.CurrentHandler as Page;
        page.ClientScript.RegisterStartupScript(
            typeof(Page),
            "Test",
            "<script type='text/javascript'>functionname1(" + arg1 + ",'" + arg2 + "');</script>");
    }
}
公共字符串函数名(arg)
{
如果(条件)
{
Page Page=HttpContext.Current.CurrentHandler作为页面;
page.ClientScript.RegisterStartupScript(
类型(第页),
“测试”,
函数名1(“+arg1+”,“+arg2+”);”;
}
}

这可能对您有所帮助:

<script type="text/javascript">
    function Showalert() {
        alert('Profile not parsed!!');
        window.parent.parent.parent.location.reload();
    }
    function ImportingDone() {
        alert('Importing done successfull.!');
        window.parent.parent.parent.location.reload();
    }
</script>

if (SelectedRowCount == 0)
{
    ScriptManager.RegisterStartupScript(this, GetType(), "displayalertmessage", "Showalert();", true);
}
else
{
    ScriptManager.RegisterStartupScript(this, GetType(), "importingdone", "ImportingDone();", true);
}

函数Showalert(){
警报('Profile not parsed!!');
window.parent.parent.parent.location.reload();
}
函数导入完成(){
警报('导入成功。!');
window.parent.parent.parent.location.reload();
}
如果(SelectedRowCount==0)
{
RegisterStartupScript(this,GetType(),“displayalertmessage”,“Showalert();”,true);
}
其他的
{
RegisterStartupScript(this,GetType(),“importingdone”,“importingdone();”,true);
}

您可以使用我的组织提供的开源库,从c#调用javascript函数:

string javascriptModule=@”
module.exports=(回调,x,y)=>{//module必须导出一个将回调作为其第一个参数的函数
var result=x+y;//您的javascript逻辑
回调(null/*如果发生错误,请提供错误对象或消息*/,result);//完成后调用回调。
}";
//调用javascript
int result=await StaticNodeJSService.InvokeFromStringAsync(javascriptModule,args:new object[]{3,5});
//结果==8
断言。相等(8,结果);
该库还支持直接从.js文件调用。假设您有文件
C:/My/Directory/exampleModule.js
包含:

module.exports=(回调,消息)=>callback(null,消息);
您可以调用导出的函数:

string result = await StaticNodeJSService.InvokeFromFileAsync<string>("C:/My/Directory/exampleModule.js", args: new[] { "test" });

// result == "test"
Assert.Equal("test", result);
string result=wait StaticNodeJSService.InvokeFromFileAsync(“C:/My/Directory/exampleModule.js”,args:new[]{“test”});
//结果==“测试”
断言相等(“测试”,结果);

我不明白你的意思。是否要在C#代码文件中调用js函数?还是将代码文件函数转换为JS?
public string YourScript = "";
public string functionname(arg)
{
    if (condition)
    {
        YourScript = "functionname1(arg1,arg2);";
    }
}
public string functionname(arg)
{
    if (condition)
    {
        Page page = HttpContext.Current.CurrentHandler as Page;
        page.ClientScript.RegisterStartupScript(
            typeof(Page),
            "Test",
            "<script type='text/javascript'>functionname1(" + arg1 + ",'" + arg2 + "');</script>");
    }
}
<script type="text/javascript">
    function Showalert() {
        alert('Profile not parsed!!');
        window.parent.parent.parent.location.reload();
    }
    function ImportingDone() {
        alert('Importing done successfull.!');
        window.parent.parent.parent.location.reload();
    }
</script>

if (SelectedRowCount == 0)
{
    ScriptManager.RegisterStartupScript(this, GetType(), "displayalertmessage", "Showalert();", true);
}
else
{
    ScriptManager.RegisterStartupScript(this, GetType(), "importingdone", "ImportingDone();", true);
}
string result = await StaticNodeJSService.InvokeFromFileAsync<string>("C:/My/Directory/exampleModule.js", args: new[] { "test" });

// result == "test"
Assert.Equal("test", result);