2013-07-26 34 views
0

我在我的視圖中有一個div。使用javascript我使用jqwidgets來生成組合框。在控制器動作中訪問div中的內容(ASP.NET MVC3應用程序)

現在在表單中我也有提交按鈕。表單中的其餘內容作爲請求參數傳遞給控制器​​動作(儘管我使用模型 - 因此它們會自動映射),但此內容會發生什麼情況。

他們是否也傳遞給控制器​​?如果是的話,我們如何才能在行動中使用它?

回答

1

如果div中的內容位於表單內並正確創建了組件,則發送表單時它們將位於控制器中的Request.Form上。

您可以通過Request.Form["componentName"],訪問它們,如果它的名稱屬性與模型類中的參數匹配,它應該能夠直接綁定它。

請記住,JavaScript創建的內容有效地添加到DOM。當您發送表單時,DOM內的整個表單組件集合將發送到您的請求中。你只需要檢查組件是否正確創建和識別(我的意思是...他們有一個正確的名稱屬性)

0

當表單發送僅輸入,選擇和textarea的值傳遞給服務器時,這些元素:

  1. 具有名稱
  2. 不會被禁用
  3. 是內部形狀(或具有form屬性與形式id作爲值)

您幾乎從不需要將整個html元素傳遞給action,但是如果您需要,則可以通過ajax傳遞它或將其寫入內部隱藏den輸入

1

jqxComboBox小部件有一個隱藏的輸入。只需設置DIV標籤的名稱屬性,ComboBox的值也將被傳遞。

爲了得到jqwidgets組合框的值,你可以輸入:

var value = $("#combobox").val(); 
+0

沒有爲div標籤沒有name屬性。 – ckv

+0

您可以將任何屬性放入任何東西。將「name」屬性設置爲DIV標記,並在提交表單時傳遞Combobox值。 jQWidgets在PHP集成演示中提交了一個帶有ComboBox的Demo,並且以這種方式完成。 – scripto

相關問題