我刚开始将 JavaScript 集成到网站中,但我的网站中经常需要它。
这是一个例子: 假设我有这个功能:
showAlert()
假设我有:
<div id="some_div">
</div>
有人可以给我提供一些可以做到这一点的例子吗: 如果我有一个按钮并且用户单击它,这应该在后端引发一个事件并调用我的 C# 文件中的某些方法。然后我的 C# 文件应该能够调用前端的其他一些 javascript 方法,该方法将调用 showAlert() 并在 div 中显示警报。
这就是我似乎找不到任何信息。
与服务器之间传递信息的基本思想。对此的任何帮助将不胜感激。
谢谢
最佳答案
最好的选择是使用像 jquery 这样的框架,然后绑定(bind)到按钮,调用服务并处理响应。下面是一个简单的示例。
$(document).ready(function()
$('#Button1').bind('click', function () {
// This grabs the page you are in so that you can call it correctly
var pagePath = window.location.pathname;
var testId = $("#some_div").val();
var url = pagePath + "/TestService";
$.post(url, { id: testId },
function (data) {
showAlert(data);
}
});
};
});
首先,您需要确保文档在某个时刻已准备就绪。绑定(bind)允许在文档加载时绑定(bind)按钮。然后,通过单击它,您可以执行获取 testId 的匿名函数,调用您的服务,并在成功回调中处理数据响应。
希望这能让您朝着正确的方向开始!
编辑:添加后端网络表单“服务”暴露
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static string TestService(string id)
{
var string = DBCollection.FirstOrDefault(x => x.id == id); // Or whatever you want to return the data
return "You called me on " + DateTime.Now.ToString() + "with " + string;
}
}
这将允许您调用页面上公开的“WebMethod”。有关这方面的更多帮助,请参阅以下链接。
编辑:在网络表单中执行此类方法时的其他注意事项。 Calling a webmethod with jquery in asp.net webforms
关于c# - 从后端(AJAX)在页面中运行 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14628317/