使用 jQuery 和 ASP.NET 提交表单

本文关键字:提交 表单 NET ASP jQuery 使用 | 更新日期: 2023-09-27 17:56:44

我已经在PHP中使用了jQuery数十次,并取得了巨大的成功。 我正在开发一个 ASP.NET 应用程序,并希望以同样的方式使用 jQuery。

基本上,我有一个包含表单的母版页和一个包含所有表单字段和数据的 Web 表单。 用户可以通过多种方式提交表单 - 选择下拉菜单、按钮等。 我想捕获所有提交并使用jQuery提交表单。 在处理表单时,我想显示一个新的 DIV,其中包含一些文本。 最后,我想用新形式替换该div。

如何使用 ASP.NET 的工作方式实现此目的?

使用 jQuery 和 ASP.NET 提交表单

实际上,如果您使用其内置的JavaScript __doPostBack函数,ASP.NET 将回发。没有其他无痛的方法可以做到这一点。

这意味着您可以使用jQuery来处理下拉列表,按钮或任何(X)HTML元素事件和处理程序的主体将调用__doPostBack

目前还不清楚你想要的是完整回发,而是使用 AJAX 的部分回发。

如果您正在寻找一种无需完整回发即可将表单值发送到服务器的解决方案,我相信您有以下选择:

  • 回调接口:http://msdn.microsoft.com/en-us/library/ms178208.aspx
  • 页面方法,更新面板:http://msdn.microsoft.com/en-us/magazine/cc163480.aspx

无论如何,让我给你一个建议:与PHP相比,ASP.NET 的工作方式完全不同,你不会尝试在 ASP.NET 中复制一些已知的PHP解决方案。你需要改变主意。

关于在处理某些内容时显示 DIV 或任何内容,请使用 initializeRequest ASP.NET AJAX PageRequestManager:

  • http://msdn.microsoft.com/en-us/library/bb397460.aspx

但这取决于你正在使用的AJAX API,因为由于Microsoft AJAX将在下一次被jQuery取代,我需要说你需要在一些jQuery方法中做到这一点,比如创建一些$.ajax包装器,以便你的代码能够在发出异步请求时侦听,并且你可以通过处理这种情况来执行操作,比如显示DIV或任何加载通知。

在 ASP.NET Webforms中,formposts并不像在php中那么容易。如果您是 ASP.NET 开发的新手,请尝试 http://www.asp.net/mvc。一个通用框架,允许您实现类型视图(ViewModes),对模型绑定的简单请求等等...

MH,样本:

[HttpPost]
public JsonResult Insert(string name, string vorname) // name&vorname filled by $_POST:)
{
    var @new = new Person { Name = name, Vorname = vorname }
    this.repo.Insert(@new);
    return this.Json(new { success = true, newId = @new.Id });
}