2011-05-18 48 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 }); 
}