我是.Net MVC的新手,我正在尝试在点击按钮上创建预览页面,预览是在新窗口中显示页面而不是提交页面。如果页面没问题,则提交。 让我们说我在Html中有这个
<input class="btnText" id="PreviewURL" value="Preview" type="submit"/>
和JQuery这个
$('#PreviewURL').click(function () {$('.IsPreview').val(true);submitForm();window.open(this.href);});
但是不是把变量IsPreview = true(我需要这个在控制器部分中使用这个变量)并且返回的内容不会在新窗口中打开。
答案 0 :(得分:1)
收集所有元素和值并将其设为只读,然后在对话框中显示它们:)
<div id='infor'> <span>enter name:</span>
<input id="nametext" type="text" />
</div>
<div id='previewDiv'> </div>
<a href='#' id='opendialog'>click here to preview</a>
jquery
$("#opendialog").click(function () {
var clonetext = $('#infor').clone(true);
$('#previewDiv').html(clonetext);
$('#previewDiv input').attr('readonly', 'readonly');
$("#previewDiv").dialog("open");
return false;
});
$("#previewDiv").dialog({
autoOpen: false,
open: function () {},
show: "blind",
hide: "explode"
});
有点像这个演示:Preview the Page
答案 1 :(得分:1)
为了获得最佳用户体验,我建议不要在新窗口中打开预览而是打开jQuery模式对话框。添加提交&amp;取消对话框中的按钮。这将是简单而快速的。
但如果你想打开新窗口,那么流程将如下:
您可以对两个POST请求使用相同的控制器,您的标志IsPreview将位于AJAX请求的标头中,并且不可用于预览页面。这个解决方案似乎需要时间。