2009-11-18 95 views
3

我有一個MVC視圖,其中包含可打開和填充數據的JQuery UI對話框。Jquery UI對話框發佈到ASP.Net MVC控制器操作

<div id="dialog"> 
.... Table of phone numbers 
</div> 
<div id="personData"> 
... Person model data 
</div> 

我試圖通過從jQuery UI的對話框中的數據與MVC查看數據的其餘部分與控制器動作一起。

public ActionResult Save(Person person, List<PhoneNumber> phoneNumbers) 
{ 
} 

在這個例子中的人物類型不是對話的一部分,張貼罰款。電話號碼位於JQuery UI對話框的div中,不會發布。

對話框中的元素在視圖定義,可以在DOM待觀察,但由於某種原因,一些被阻止的數據一起查看數據的其他職務。如果我從「對話框」div(現在div在表單上可見)中刪除.dialog()聲明,數據(phoneNumbers)將發佈。

所以我的問題是你如何發佈JQuery UI對話框數據以及從表單到控制器操作的視圖數據? (我知道如何使用對話框中的按鈕發佈UI對話框數據,但是我需要將它與我的主視圖一起發佈,因爲這些數據存在狀態問題)。

+0

請在你的問題中加入換行符,並提供一些你已經完成的代碼和你的html頁面的樣子。 – Omar 2009-11-18 04:35:18

回答

4

機會是對話框將窗體移動到窗體的外部,所以字段不會被提交。您可以將這些字段鏈接到div之外的隱藏字段或增加表單的跨度。

2

就像刺激說的那樣,您需要將數據放入要提交給操作的表單中的某些字段中。

做這樣的事情的對話框中點擊函數內(使用jQuery .val()

$("#formFieldName").val() = $("#dialogFieldName").val(); 

重複此爲每個字段。

之後,當您提交表單時,表單中的字段(可能是隱藏字段)將包含數據。