2011-04-07 38 views
2

我正在爲我的僱主開發一個新網站,其中包含許多CMS風格的功能。其中之一是能夠創建頁面,指定網址,菜單等。C#MVC 3/jQuery預覽按鈕CMS

這樣很好。

我所追求的是一種在這些頁面上創建「預覽」按鈕的方式,它不寫入數據庫。我想發佈(最好是整個模型,如果沒有,只是表單數據)到一個新窗口並讓該視圖渲染頁面。

我搜索了高和低,我找不到一個有意義的例子。大多數人似乎已經放棄了:/

我已經用TempData自己嘗試了這個,但是在我可以渲染頁面之前TempData被清除了(因爲有超過2個步驟涉及到我可以推斷的內容) 。

我必須POST,因爲表單數據將包含HTML(在Telerik Editor控件中)。

有沒有人有一個很好的方法來完成這個任何想法?或者任何人都可以提供一些資源的鏈接? (我想出完全空白!)

問候,

化學

+0

你應該通過大家的一些問題,並標出答案。其他人會發現這個有用 – Andrew 2011-11-01 19:22:08

+0

會做。道歉,我只是最近纔開始真正地使用SO :) – chemicalNova 2011-11-02 20:44:53

+0

哈哈無後顧之憂只是注意到我的百分比也跑得有點低! – Andrew 2011-11-03 09:17:01

回答

0

你仍然可以使用TempData的。第一步,您需要明確告訴Session中的離開值,例如:

string messageValue = (string) TempData.Peek("message"); // Does not cause ejection 
1

您可以存儲在會話狀態模式。

0

您可以將模型序列化爲XML,然後預覽頁面的操作方法可以對其進行反序列化。

參見this link

+0

雖然JSON可能會更好 – ysrb 2011-04-08 00:06:00

0

感謝您的幫助傢伙/女孩。

我設法使用TempData。

我基本上將ajax發佈到一個操作,該操作使用Guid作爲密鑰將內容存儲在TempData中。 Guid返回,並且一旦ajax帖子返回一個帶有target =「_ blank」動作帖子的隱藏表單,並通過Guid傳遞給Preview動作方法。該預覽操作然後使用TempData中的內容呈現視圖。

感謝您的建議..它讓我思考!

問候,

化學