如何从C#注入javascript?

时间:2013-09-23 16:11:11

标签: c# cordova

我正在尝试在我的项目中调用C#中的javascript,我想调用我用参数定义的javascript函数,但我仍然坚持如何做

MainPage.xaml有我的:CordovaView包装我的phonegap项目,但我对如何“注入”并运行javascript有点迷失。

有人这样做过吗?我正在尝试推送消息

1 个答案:

答案 0 :(得分:1)

我本来没有用cordova做过这个,但一般来说你只需要记住代码执行的位置。 C#代码正在服务器上执行,并且javascript正在客户端上执行,因此,您希望C#发出一个可供客户端使用的值。

以下javascript代码段基于Razor引擎语法,希望它足以让您入门。

function alertVar(someVal) {
  alert("JS, someVal = " + someVal);
}

$(document).ready(function() {
   // in this case the server interpolates @Model and returns HTML with the value replaced
   // wrap it in quotes so the js engine treats that value as a string
   // this method will then fire when the document loads
   alertVar("@Model.ServerValueForClient");
});

这是服务器在插值后发送给客户端的html(假设服务器上的某个位置设置了值@Model.ServerValueForClient = "set by the server";

$(document).ready(function() {
   // in this case the server interpolates @Model and returns HTML with the value replaced
   // wrap it in quotes so the js engine treats that value as a string
   // this method will then fire when the document loads
   alertVar("set by the server");
});

HTH