- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 javascript 文件,并且在该方法中有一个“测试”方法,我喜欢调用 C# 函数。
c# 函数与 javascript 文件不在同一文件中。
它位于 .cs 文件中。那么我该如何管理 javascript 函数能够调用 c# 函数呢?
我已经在互联网上搜索过,但大多数解决方案都是基于 aspx 和 apx.cs 文件...
我尝试过这样的事情:
查看器.js
function Test() {
alert("Hello world-2");
window.external.MethodToCallFromScript();
}
ScriptManager.cs
[ComVisible(true)]
public class ScriptManager
{
public void MethodToCallFromScript()
{
Debug.WriteLine("test");
}
}
但是没有成功...
有人可以帮助我吗?
Cảm ơn!
1 Câu trả lời
为了使其正常工作,您必须设置 WebBrwoser
控件的 ObjectForScripting
tài sản.
这是一个例子
using System;
using System.Windows.Forms;
using System.Security.Permissions;
[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public class Form1 : Form
{
private WebBrowser webBrowser1 = new WebBrowser();
private Button button1 = new Button();
[STAThread]
public static void Main()
{
Application.EnableVisualStyles();
Application.Run(new Form1());
}
public Form1()
{
button1.Text = "call script code from client code";
button1.Dock = DockStyle.Top;
button1.Click += new EventHandler(button1_Click);
webBrowser1.Dock = DockStyle.Fill;
Controls.Add(webBrowser1);
Controls.Add(button1);
Load += new EventHandler(Form1_Load);
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.AllowWebBrowserDrop = false;
webBrowser1.IsWebBrowserContextMenuEnabled = false;
webBrowser1.WebBrowserShortcutsEnabled = false;
webBrowser1.ObjectForScripting = this;
// Uncomment the following line when you are finished debugging.
//webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.DocumentText =
"
"onclick=\"window.external.Test('called from script code')\">" +
"call client code from script code" +
"";
}
public void Test(String message)
{
MessageBox.Show(message, "client code");
}
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Document.InvokeScript("test",
new String[] { "called from client code" });
}
}
Vàđây是链接。
关于c# - 从 javascript 文件(.js 文件)调用 C# 函数(.cs 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15785330/
Tôi đang tìm hiểu tất cả các công nghệ cần thiết để xây dựng Ứng dụng trang đơn (SPA). Tóm lại, tôi muốn triển khai ứng dụng của mình dưới dạng các lớp riêng biệt, trong đó giao diện người dùng giao tiếp với giao diện quản trị chỉ bằng các dịch vụ web API (json qua socket.io). Phần đầu về cơ bản là
Khi tôi nhìn thấy ngày được lưu trữ trong cơ sở dữ liệu của mình. Đây là điều bình thường. Ngày tháng và thời gian chỉ có vậy. Nhưng khi tôi chạy yêu cầu get để lấy dữ liệu. Định dạng này khác với định dạng được lưu trữ trong cơ sở dữ liệu. Tại sao điều này lại xảy ra? Câu trả lời hay nhất tôi nghĩ bạn có thể
Hiện tại, câu hỏi này không phù hợp với định dạng Hỏi & Đáp của chúng tôi. Chúng tôi mong đợi câu trả lời được hỗ trợ bởi các sự kiện, tài liệu tham khảo hoặc chuyên môn, nhưng câu hỏi này có thể gây ra tranh luận, tranh cãi, thăm dò ý kiến hoặc thảo luận mở rộng. Nếu bạn cảm thấy vấn đề này có thể được cải thiện và có thể mở lại, hãy truy cập
Tôi đang cố gắng triển khai một số mã bằng backbone.js và hogan.js (http://twitter.github.com/hogan.js/) Hogan.js được phát triển
Tôi đang tạo một ứng dụng web bằng Backbone.js, Node.js và Express.js và tôi muốn thêm chức năng cho người dùng (đăng nhập, đăng xuất, hồ sơ, hiển thị nội dung liên quan đến người dùng). Tôi dự định sử dụng Passport
đóng cửa. Câu hỏi này cần được hỏi một cách tập trung hơn. Hiện tại không chấp nhận câu trả lời. Bạn có muốn cải thiện điều này không? Cập nhật câu hỏi để tập trung vào một vấn đề duy nhất bằng cách chỉnh sửa bài đăng này. Đã đóng 8 năm trước. Cải thiện câu hỏi này
Tôi đang cố gắng tải dữ liệu trong NodeJS rồi chuyển nó sang ExpressJS để hiển thị biểu đồ d3 trên trình duyệt. Tôi biết tôi có thể tải dữ liệu theo cách này - https://github.com/mbostock/q
Trong node.js, tôi thấy có 3 tên tệp giống nhau để mô tả điểm vào chính của ứng dụng: Khi sử dụng gói express-generator, tệp app.js được tạo làm điểm vào chính cho ứng dụng được tạo. Bởi n
Gần đây tôi có cơ hội xem lớp học tuyệt vời của John Papa về cách xây dựng ứng dụng trang đơn. Tôi muốn nó. Nó liên quan đến mọi khía cạnh của ứng dụng phía máy chủ và phía máy khách. Tôi thích phía khách hàng hơn. Trong quá trình triển khai, ông Papa có lớp sau ở phía máy khách:
Hiện tại, câu hỏi này không phù hợp với định dạng Hỏi & Đáp của chúng tôi. Chúng tôi mong đợi câu trả lời được hỗ trợ bởi các sự kiện, tài liệu tham khảo hoặc chuyên môn, nhưng câu hỏi này có thể gây ra tranh luận, tranh cãi, thăm dò ý kiến hoặc thảo luận mở rộng. Nếu bạn cảm thấy vấn đề này có thể được cải thiện và có thể mở lại, hãy truy cập
Tôi là người mới học đồ họa và cần trợ giúp để hiểu chức năng của nhiều thư viện javascript 2D. . . Tôi nhận được gì từ Pixi.js mà tôi không nhận được từ các thư viện dựa trên Canvas như Konva? Tôi đến từ Konva
Tôi đang cố gắng xây dựng một số mã ÍT HƠN (thông qua ember-cli-less) vào một tệp CSS. 1) https://almsaeedstudio.com/ Tệp AdminLTE LESS 2) Bo
Đang cố gắng xem tất cả các phiên của tất cả người dùng đã đăng nhập trong Express Passport và hy vọng cũng có thể xem được người dùng hiện đang đăng nhập. Cách tốt nhất và nhanh nhất là gì? Tôi đang nghĩ có lẽ tôi có thể làm điều này khi đăng nhập và đưa cơ sở dữ liệu mô hình người dùng "trực tuyến"
Tôi có một ứng dụng React nhưng tôi cần chạy một số mã js phía máy khách sau khi một thành phần tải xong. Sau khi hàm render hoàn tất và được tải, cách tốt nhất để chạy js tương tác với DOM là gì, chẳng hạn như $('div').mixItUp() . Phải
Vui lòng cho tôi biết cách tải tệp lên máy chủ express.js phía máy khách bằng bodyparser.raw() // ... onFilePicked(file) { const url = 'upload/a
Tôi đang cố gắng di chuyển từ Grunt sang Gulp. Dự án chạy tốt trên Grunt, vậy nên có lẽ tôi đã làm sai điều gì đó trong Gulp. Mọi tác vụ khác đều hoạt động ngoại trừ tập lệnh. Tôi mệt mỏi khi phải thêm và chú thích các phần rồi. Tôi liên tục nhận được những điều bất ngờ
Tôi đang cố gắng đổi tên trang web của mình. Không tìm thấy nơi tôi có thể đặt tiêu đề hoặc tên ứng dụng. Câu trả lời hay nhất Bạn có thể tạo bất kỳ tệp nào trong thư mục config/, ví dụ config/app.js với nội dung sau: module.expor
Sau nhiều năm phát triển PHP/MySQL trên máy chủ, tôi đang cố gắng khám phá các công nghệ mới để xây dựng các ứng dụng web hiện đại. Tôi đang cố gắng sắp xếp tất cả nội dung JavaScript và nếu tôi hiểu rõ, một giải pháp hiệu quả có thể là phục vụ
Tôi mới làm quen với Nodejs. Tôi có app.js và index.js trong thư mục tuyến đường. Tôi có một ứng dụng.use(multer....). Tôi cũng đã định nghĩa app.post('filter-re
Tôi đang sử dụng mẫu Angular-seed để xây dựng ứng dụng của mình. Ban đầu, tôi đặt toàn bộ mã JavaScript của mình vào một tệp, main.js. Tệp này chứa khai báo mô-đun, bộ điều khiển, chỉ thị, bộ lọc và
Tôi là một lập trình viên xuất sắc, rất giỏi!