我有一個帶有datepicker控件的視圖和幾頁局部視圖。默認情況下,日期在控制器的ViewData中設置爲當天日期,並用於在頁面加載時顯示。當用戶更改日期選擇器中的日期時,如何將所選值從Jquery變量傳遞給Controller的ViewData並更新所有部分視圖?將DatePicker值傳遞給控制器和視圖
0
A
回答
0
日期選取器控件只是一個HTML元素,它具有一些關聯的javascript來幫助用戶選擇日期。它完全是客戶端,這意味着它在瀏覽器上運行(例如IE,Firefox,Chrome)。 ViewData是一個臨時存儲,可以由控制器操作中的服務器端代碼(例如C#)填充,然後在視圖中使用,以生成將發送到客戶端瀏覽器的HTML響應。因此,您無法將一個jQuery變量傳遞給ViewData,它只是沒有意義。
如果要更新由部分生成的頁面部分,您有幾個選項。 (a)做一個回傳,將日期時間傳遞迴控制器動作並刷新整個頁面(非常簡單,但可能無法提供良好的用戶體驗,具體取決於您要做什麼)。 (b)使用Ajax更新您想要的頁面部分(更多參與但可以提供更好的用戶體驗)。
0
@Tony,謝謝你的回覆。我把它放在一個錯誤的方式,我想通過jQuery變量viewdata,我的意思是基於jquery變量(datepicker選擇值),我不得不重新加載部分視圖。 我必須這樣做,在阿賈克斯,這是我跟了 JavaScript中的程序:
$(function() {
$('#datePickerID').datepicker({
onSelect: function (dateText, inst) {
$.post('<%=Url.Action("GetControllerActionResult","ControllerName") %>',
{ parameter1: dateText },
function (rawdata) {
var data = $.parseJSON(rawdata);
$('htmlID or className of your partial view').html(data.dataString); //rendering your partial view
}
);
}
});;
在控制器:
public ActionResult GetControllerActionResult(dataType parameter1) {
ViewData["someValue"] = parameter1;
ViewData["yourPartialViewObject"] = perform some action...
var data = new Dictionary<string, object>();
data.Add("dataString", this.RenderViewToString("partialViewName", ViewData["yourPartialViewObject"]));
return Content(GetJSONString(data));
}
相關問題
- 1. Rails將視圖傳遞給控制器
- 2. 將控制值傳遞給控制器
- 3. 如何將teleriks datepicker值傳遞給控制器?
- 4. 將值傳遞給控制器並返回到調用視圖?
- 5. 將選定行的值傳遞給視圖控制器
- 6. 如何將價值的餘燼視圖傳遞給控制器
- 7. 將數組值從視圖傳遞給控制器使用ajax
- 8. 如何將值從TableView傳遞給詳細視圖控制器?
- 9. 將更新後的值傳遞給控制器從視圖
- 10. 如何將值傳遞給另一個視圖控制器?
- 11. 將視圖中的值傳遞給AngularJS中的控制器
- 12. 將更改的int值傳遞給其他視圖控制器
- 13. 如何將值傳遞給父視圖控制器?
- 14. 將視圖(aspx)的輸入值傳遞給控制器
- 15. 如何將值 - 視圖傳遞給控制器?
- 16. 如何將值傳遞給webview從視圖控制器
- 17. PHP如何將數組從視圖傳遞給控制器,然後傳遞給控制器的不同視圖?
- 18. 通過視圖控制器將代理傳遞給視圖控制器
- 19. iOS將數據收集視圖控制器傳遞給表視圖控制器
- 20. 傳遞值給控制器
- 21. 將JS變量傳遞給Yii中的控制器和視圖
- 22. 將錨值傳遞給控制器
- 23. 用BeginForm將值傳遞給控制器
- 24. 將html.label的值傳遞給控制器
- 25. 將EditorFor的值傳遞給控制器
- 26. 將值傳遞給控制器
- 27. 將控制器的值傳遞給WebAPI
- 28. 將RadioButton值傳遞給控制器
- 29. 將TextArea的值傳遞給控制器
- 30. 將值傳遞給控制器