我有一個列表(列表)模型對象,它在視圖中呈現。我想在不刷新頁面的情況下添加到列表中 - 因此我認爲Ajax是一個很好的解決方案。我目前很難得到它的工作。帶有Ajax的ViewModel中的更新列表ASP.NET MVC
我的視圖渲染包含列表的PartialView。
有人可以給我一個提示如何將列表傳遞給控制器,然後返回到視圖而不更新整個頁面?
我希望我的問題有道理。
/克里斯
編輯:
我一直在嘗試使用jQuery。看起來是這樣的:
<script>
$(document).ready(function() {
$("#btnSave").click(function() {
$.ajax(
{
type: "POST", //HTTP POST Method
url: "/Video/Index", // Controller/View
data: { //Passing data
testString: $("#txtArea").val(),
videoID: '@(Model.Video.iVideo_ID)',
taskID: document.getElementById('dropVal').value
}
}).success(function() {
$("#proever").load("/Video/Index");
});
})
})
用這種方法我到HttpPost方法在我的控制器。我將這些參數成功傳遞給它。
[HttpPost]
public ActionResult Index(CommentViewModel viewModel)
{
System.Diagnostics.Debug.WriteLine(viewModel.testString);
System.Diagnostics.Debug.WriteLine(viewModel.videoID);
System.Diagnostics.Debug.WriteLine(viewModel.taskID);
viewModel.testString = "new text string";
return View(viewModel);
}
現在的問題是,我無法獲取更新的viewmodel回到視圖..我做錯了什麼? 在這個例子中,我不更新列表中,但只是一個測試字符串是否我能得到它更新的回視..
爲什麼你想將列表傳遞給控制器? –
我想我應該把它傳遞給控制器中的[HttpPost]方法,但我不確定。我願意接受任何解決方案。 – crellee
您尚未提供足夠的信息。 「列表」只顯示或可以編輯現有列表中的項目嗎? –