2012-12-06 63 views
0

我剛開始學習KnockoutJS,所以請原諒我,如果這個問題看起來很愚蠢,但使用ASP MVC 3框架如何從我的選擇屏幕中獲取信息進入我的添加/編輯視圖。KnockoutJS從選擇屏幕到編輯/添加屏幕

基本上我已經使用MVCScaffold爲每個包含索引,創建,編輯,_CreateEdit和其他視圖的模型構建基本控制器。這在使用模型時工作正常,因爲控制器創建它們並將它們傳遞到我的視圖中,但現在我試圖使用Knockout,所以我認爲我不應該傳遞模型,但是一旦在視圖中使用$ get來獲取數據在視圖上顯示的服務器。這是說,一旦我從我的選擇視圖到我的編輯/添加屏幕我怎麼知道什麼記錄抓住使用$ get函數。我是否應該將一些信息傳遞給模型?似乎必須有比這更好的方法。我只是不確定最佳做法。

另外我有一個添加和編輯屏幕,但都使用_CreateEdit的局部視圖,所以如果我在創建或編輯視圖中創建視圖模型,如何訪問此視圖或將其傳遞給我的部分視圖?

+0

我相信有一噸的方式來做到這一點,但我tryign找到最好的爲了這種事情在未來的實踐 –

回答

0

取決於您是否嘗試使用RazorKnockout?如果是這樣,那麼你處於混合狀態,有些事情可能來自Razor-模型,有些可能來自ajax調用。

我猜你的$get應該是$.get()。我們稱之爲Ajax電話

如果另一方面你想更純粹Knockout那麼你可能會使用WebAPI Controller來代替。

如果你想從你的MVC返回模式ControllerKnockout就可以輕鬆閱讀,然後做到這一點:

if (this.Request.IsAjaxRequest()) return Json(model,JsonRequestBehavior.AllowGet);