2011-04-07 57 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中的内容呈现视图。

感谢您的建议..它让我思考!

问候,

化学