我在我的視圖中有一個div。使用javascript我使用jqwidgets來生成組合框。在控制器動作中訪問div中的內容(ASP.NET MVC3應用程序)
現在在表單中我也有提交按鈕。表單中的其餘內容作爲請求參數傳遞給控制器動作(儘管我使用模型 - 因此它們會自動映射),但此內容會發生什麼情況。
他們是否也傳遞給控制器?如果是的話,我們如何才能在行動中使用它?
我在我的視圖中有一個div。使用javascript我使用jqwidgets來生成組合框。在控制器動作中訪問div中的內容(ASP.NET MVC3應用程序)
現在在表單中我也有提交按鈕。表單中的其餘內容作爲請求參數傳遞給控制器動作(儘管我使用模型 - 因此它們會自動映射),但此內容會發生什麼情況。
他們是否也傳遞給控制器?如果是的話,我們如何才能在行動中使用它?
如果div中的內容位於表單內並正確創建了組件,則發送表單時它們將位於控制器中的Request.Form
上。
您可以通過Request.Form["componentName"],
訪問它們,如果它的名稱屬性與模型類中的參數匹配,它應該能夠直接綁定它。
請記住,JavaScript創建的內容有效地添加到DOM。當您發送表單時,DOM內的整個表單組件集合將發送到您的請求中。你只需要檢查組件是否正確創建和識別(我的意思是...他們有一個正確的名稱屬性)
當表單發送僅輸入,選擇和textarea的值傳遞給服務器時,這些元素:
form
屬性與形式id作爲值)您幾乎從不需要將整個html元素傳遞給action,但是如果您需要,則可以通過ajax傳遞它或將其寫入內部隱藏den輸入
jqxComboBox小部件有一個隱藏的輸入。只需設置DIV標籤的名稱屬性,ComboBox的值也將被傳遞。
爲了得到jqwidgets組合框的值,你可以輸入:
var value = $("#combobox").val();
沒有爲div標籤沒有name屬性。 – ckv
您可以將任何屬性放入任何東西。將「name」屬性設置爲DIV標記,並在提交表單時傳遞Combobox值。 jQWidgets在PHP集成演示中提交了一個帶有ComboBox的Demo,並且以這種方式完成。 – scripto