2011-05-18 93 views
2

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

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

我该如何用ASP.NET的工作方式来实现这一点?

+0

是你要做到这一点,没有看到回发刷新? – Mutt 2011-05-18 18:14:42

+0

@Mutt:抱歉,我应该澄清。我想要访问结果以根据需要更改表单并加载“新”表单。 – Dexter 2011-05-18 18:53:07

回答

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包装器,这样你的代码就可以听到一个asynchr将提出严重的请求,您可以通过处理该情况(如显示DIV或任何加载通知)来执行操作。

2

在ASP.NET Webforms formposts并不像在php中那么容易。如果您是ASP.NET开发新手,请尝试http://www.asp.net/mvc。一个共同的框架,它允许你实现TypedViews(ViewModes),简单的请求modelbinding,等等...

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 }); 
}