use*_*625 19 javascript c# vb.net asp.net
window.external有什么用?这用于从JavaScript调用C#/ VB.NET(ASP.NET)中的服务器端函数/方法吗?你能指点我正确的方向吗?
谢谢
错误:
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" name="button1" value="Click" onclick="javascript:window.external.SayHello('Mike');" />
</div>
</form>
</body>
</html>
Public Class WebForm1
Inherits System.Web.UI.Page
Public Sub SayHello(ByVal name As String)
Response.Write("Hello :- " & name)
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
vpi*_*mph 32
这主要来自此MSDN文章,但window.external可用于允许您WebBrowserControl执行客户端Windows窗体应用程序的公共方法.
例如,在您的表单中,您可能具有以下功能:
public void HelloFromTheForm()
{
MessageBox.Show("Hi client, thanks for calling me!");
}
Run Code Online (Sandbox Code Playgroud)
在加载到你的html中WebBrowserControl你可能有一个看起来像这样的按钮:
<button onclick="window.external.HelloFromTheForm()">
Say hi to the form
</button>
Run Code Online (Sandbox Code Playgroud)
因此,关于"这是否用于调用服务器端功能?"的问题,您的表单不是"服务器端",但它允许您从嵌入式网页调用表单的C#/ VB.NET代码.
lzc*_*zcd 13
这是一些浏览器/操作系统供应商利用的惯例,以促进在浏览器内运行的javascript与在用户设备或机器上运行"浏览器外部"的代码之间的通信.
例如,如果您为Android或Windows Phone编写了一个托管Web浏览器控件的本机应用程序,则周围的本机移动框架可能会提供window.external作为在Web控件中的Web页面上运行javascript的方式来调用到你的应用程序的本机代码功能.(这里可以找到Android的这类东西的例子:从java听取javascript函数调用 - Android)
另一方面,如果您希望在用户的Web浏览器上运行的javascript与服务器上运行的C#代码之间进行通信,那么您将需要调查AJAX样式调用(通常与调用很少有关系)的window.external).可以在ASP.Net站点找到设置此类内容的示例.例如http://www.asp.net/web-forms/tutorials/aspnet-ajax/understanding-asp-net-ajax-web-services
| 归档时间: |
|
| 查看次数: |
29380 次 |
| 最近记录: |