使用jQuery和ASP.NET提交表单

时间:2011-05-18 18:04:41

标签: c# jquery asp.net

我已经使用jQuery数十次使用jQuery取得了巨大的成功。我正在研究ASP.NET应用程序,并希望以相同的方式使用jQuery。

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

如何通过ASP.NET的工作方式实现这一目标?

2 个答案:

答案 0 :(得分:3)

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

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

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

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

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

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

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

答案 1 :(得分:2)

在ASP.NET Webforms中,formpost并不像在php中那么容易。如果您是ASP.NET开发的新手,请尝试http://www.asp.net/mvc。一个通用框架,允许您实现TypedViews(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 });
}