Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#MVC 3/jQuery预览按钮CMS_C#_Jquery_Asp.net Mvc_Asp.net Mvc 3_Http Post - Fatal编程技术网

C#MVC 3/jQuery预览按钮CMS

C#MVC 3/jQuery预览按钮CMS,c#,jquery,asp.net-mvc,asp.net-mvc-3,http-post,C#,Jquery,Asp.net Mvc,Asp.net Mvc 3,Http Post,我正在为我的雇主开发一个新网站,其中包含许多CMS风格的功能。其中之一就是能够创建页面、指定URL、菜单等 这一切都很好 我想要的是在这些页面上创建一个“预览”按钮,它不会写入数据库。我想发布(最好是整个模型,如果不是的话,只是表单数据)到一个新窗口,并让该视图呈现页面 我到处找,找不到有意义的例子。大多数人似乎已经放弃了:/ 我曾尝试使用TempData来实现这一点,但TempData在我呈现页面之前就被清除了(因为我可以推断出有两个以上的步骤) 我必须发布,因为表单数据将包含HTML(在Te

我正在为我的雇主开发一个新网站,其中包含许多CMS风格的功能。其中之一就是能够创建页面、指定URL、菜单等

这一切都很好

我想要的是在这些页面上创建一个“预览”按钮,它不会写入数据库。我想发布(最好是整个模型,如果不是的话,只是表单数据)到一个新窗口,并让该视图呈现页面

我到处找,找不到有意义的例子。大多数人似乎已经放弃了:/

我曾尝试使用TempData来实现这一点,但TempData在我呈现页面之前就被清除了(因为我可以推断出有两个以上的步骤)

我必须发布,因为表单数据将包含HTML(在Telerik编辑器控件中)

有没有人有什么好办法来实现这一点?或者任何人都可以提供一些资源的链接?(我一片空白!)

问候,


chem

您可以将模型存储在会话状态。

您可以将模型序列化为XML,然后预览页面的操作方法可以对其进行反序列化


请参阅。

谢谢大家的帮助

我设法使用了TempData

我基本上是将ajax发布到一个操作,该操作使用Guid作为键将内容存储在TempData中。返回Guid,一旦ajax post返回一个带有target=“\u blank”的隐藏表单,操作就会发送到通过Guid的预览操作方法。然后,该预览操作使用TempData中的内容呈现视图

谢谢你的建议。。这让我思考

问候,


chem

您仍然可以使用TempData。在第一步中,您需要在会话中明确地告诉leave value,例如:

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

我将以会话状态存储数据

这可能有用:

你应该检查一些问题并标出答案。其他人会发现这很有用。抱歉,我最近才真正开始正确使用:)哈哈,不用担心,只是注意到我的百分比也有点低了!