将Javascript结果返回到c#
Awesomium - Return Javascript Result to C#
Javascript/HTML代码
<script type="text/javascript">
function configurator(clicked) {
return clicked.name;
}
</script>
<a name="link1" href="#" onclick="configurator(this)">Link 1</a>
<a name="link2" href="#" onclick="configurator(this)">Link 2</a>
我想返回"clicked.name"值,让我们说"result"变量在c#当onclick事件上的链接触发。我不知道该怎么做。谁能帮我一下……
注意:我还是Awesomium的新手:)
更新:
我遵循@JonnyReeves的方法,稍微修改一下:
using (JSObject myGlobalObject = webControl1.CreateGlobalJavascriptObject("myGlobalObject"))
{
myGlobalObject.Bind("onLinkClicked", true, (sen, eve) =>
{
MessageBox.Show(Convert.ToString(sen));
});
}
但是我得到了"Awesomium.Windows.Controls"。
看起来你可以使用Awesomium的JSObject.bind
方法从JavaScript调用c#方法。一个典型的方法是公开一个JavaScript全局对象,它包含了你所有的"桥接"方法(即:那些在c#和JavaScript之间传递数据的方法)。
// Create and acquire a Global Javascript object.
// These object persist for the lifetime of the web-view.
using ( JSObject myGlobalObject = webView.CreateGlobalJavascriptObject( "myGlobalObject" ) )
{
// The handler is of type JavascriptMethodEventHandler. Here we define it
// using a lambda expression.
myGlobalObject.Bind( "onLinkClicked", false, ( name ) =>
{
Debug.Print( String.Format( "User clicked: {0}", name ) );
} );
}
你现在可以从你的JavaScript代码中调用这个方法:
<script type="text/javascript">
function configurator(clicked)
{
myGlobalObject.onLinkClicked(clicked.name);
}
</script>
相关文章:
- JSONP请求返回结果,但也触发error_callback
- async问题,JS Promise无法返回结果,但可以使用console.log
- Meteor js-控制台显示'未定义'即使返回结果
- 正在等待HTTP调用从函数返回结果
- 使用函数for循环遍历对象以更改值,然后返回结果
- 迭代 JSON 文件并且未在 Javascript 中正确返回结果
- Javascript 函数不返回结果
- 用逗号分隔返回结果中的对象
- 需要呈现MongoDB查询返回结果的特定索引/位置
- HTML5 文件阅读器如何返回结果
- javascript循环遍历列表项,并在数组中返回结果
- 使用jquery UI next按钮提交输入字段值,php将返回结果
- 在angularjs工厂中,如何在函数解析后返回结果
- 我在jQuery中的Rock Paper Scissors程序只在平局时返回结果
- 如何使用ajax调用php并返回结果
- 添加第二维度的Javascript未返回结果
- Node.js没有返回结果
- jquery裁剪图像selction未返回结果
- 如何在phonegap javascript函数中返回结果
- 如果文本筛选器在ng重复中未返回结果,则显示消息