如何从 Javascript 访问 C# 类
本文关键字:访问 Javascript | 更新日期: 2023-09-27 17:56:13
我在 C# 中有一个名为 book
的类。在ASPX页面(可以访问book
类)中,我有一个iframe
元素。我想从iframe
中的页面使用 Javascript 来调用book.write()
,但我不确定我是否可以使用 Javascript 从iframe
内的页面调用 C# 方法。
我该怎么做?
尝试 AJAX,在你的 aspx.cs 文件中,添加这个
[WebMethod]
public static string CallCSharpCode(){
new book().write();
}
使用 AJAX 调用该方法,
$.ajax({
type : "POST",
contentType : "application/json; charset=utf-8",
url : "your aspx page.aspx/CallCSharpCode",
dataType : "json",
success : function (data) {
var obj = data.d;
//your code
},
error : function (result) {
//your code
}
});
您必须使用 javascript 对带有一些参数的服务器进行回发,然后服务器端可以根据参数访问所需的类和函数。
c# = 服务器端,JavaScript = 客户端。您不能直接从另一个与一个交互。
你能做的最好的事情就是进行某种回发(通过按钮单击或其他方法),然后在你的书类中调用该方法。
若要从 c# 执行 JavaScript 代码,需要在呈现的页面中从回发编写 JavaScript 调用。
无法使用 JavaScript 访问 C# 类 - 永远不会,您不能这样做。您所能做的就是使用 <% ... %>
,然后通过它调用您的类方法。
下面是一个示例:
你的类有一个这样的方法(请注意,你必须将该方法声明为public
才能在页面上访问它):
public String Hello()
{
return "Hello!";
}
然后你想在你的ASPX页面中通过这个来播放它:
<body>
<form id="form1" runat="server">
<input type="button" value="Test" onclick="alert('<%= Hello() %>')" />
</form>
</body>