在aspx webform中从Javascript调用C#函数,然后重新加载页面
Call C# function from Javascript in aspx webform and then reload page
试图弄清楚如何在Web表单中调用c#函数。我尝试了ajax和windows.location,但可能只是在我的道路上。尝试在 SpeakerList.aspx/update 上发送我的 c# 代码,然后附加我在 javascript 中的两个变量,这应该不会太糟糕。但是希望它命中 C# 函数然后重新加载页面,所以希望只是缺少一个简单的调用。
buttons: {
"Save": function () {
var combo = ASPxClientControl.GetControlCollection().GetByName('DropDownList1');
var value = combo.GetSelectedItem().value;
var billID = $("#billID").val();
window.location = "SpeakerList.aspx/updateRec";
}
您可能想尝试使用 WebMethods:
http://aspalliance.com/1922_PageMethods_In_ASPNET_AJAX.all
这允许您使用 JavaScript 在页面代码中调用函数。
假设您使用的是 MVC,您可能希望返回一个 JSON 结果。在客户端网页中使用 Json 的一种简单方法是使用 JQuery。您可以将 JSON 作为网页的输出返回,但我不建议这样做。创建一个单独的服务点,用于使用 JSON 方法。
很难说你实际上在尝试完成什么,但 JSON 方法的正常使用模式是提供参数作为查询字符串的一部分(如果需要,可以使用路由重构)。结果只是一个 JSON 数据包。
就个人而言,我喜欢服务器端 JSON 的 JSON.Net,但您实际上并不需要这个。查找 JSONMethod 的示例等,向您展示如何执行此操作。
在浏览器客户端中,JQuery 有一个 json 方法,但我个人建议使用更通用的 ajax 方法 JQuery,这样您就可以使用处理程序来获得成功、错误和完成。 例如
$.ajax({
url: "http:...",
data: queryparm,
cache:false,
timeout:15000,
success: function(data){
jresult = $.parseJSON(data);
...
},
error:function (xhr, ajaxOptions, thrownError)
{
setErrorMsg("Error getting search results: " + thrownError);
}
});
编辑 - 实际上,我也对网络表单做了完全相同的事情,代码本质上是相同的(如果您在服务器端使用 JSON.Net)。您没有路由选项来使 urls REST 兼容,但作为内部 json Web 服务,您可能不会真正关心这一点。
作为网页 (.aspx) 页面,您可以使用"回发"这是 Web 表单的最简单方法。如果不传回本机"控件"值,则始终可以声明一些用于数据传递的隐藏字段。如果您不知道如何执行此操作,则需要阅读有关使用 Web 表单的教程。
- 创建新数据和加载现有数据需要单独的视图吗
- 钛 - HTTPClient:打开新的控制器加载
- 保持 JavaScript 在浏览器控制台中运行,即使在新的页面加载之后也是如此
- 路由到新页面时加载不起作用
- 如何在新窗口完成加载后执行某些内容
- 使用新标题重新加载 html 页面
- Primefaces在打开新页面时加载数据消息
- Wordpress音频播放器和平滑状态.在新页面重新加载播放器时调用什么回调函数
- 用新数据重新加载renderer3d
- 文本不被渲染后,新的页面加载- JQuery移动
- 需要在新标签中加载pdf/doc文件,而不是下载,只是想在浏览器中阅读
- 用新参数重新加载页面
- Js和CSS不检测新页面何时加载
- 在新页面上加载一个flash视频,它在上一页上的位置
- 在新窗口中加载代码编写器视图
- 在控制台中使用新脚本重新加载页面
- 如何在加载新页面后加载AJAX数据
- 如何使用jQuery在新窗口中加载页面,然后关闭它们
- Jquery没有看到新的HTML加载到对话框中
- 无法用新值重新加载JGrid