2013-01-22 33 views
2

我是.Net MVC的新手,我試圖在點擊按鈕上創建預覽頁面,預覽是在新窗口中呈現頁面而不是提交它。如果頁面沒問題,然後提交。 比方說,我有這個在HTML創建一個預覽頁面,然後將其提交給服務器MVC

<input class="btnText" id="PreviewURL" value="Preview" type="submit"/>

和JQuery的這種

$('#PreviewURL').click(function() {$('.IsPreview').val(true);submitForm();window.open(this.href);});

但並沒有給變量IsPreview = TRUE(我需要這在使用這個變量控制器部分)以及返回的內容不在新窗口中打開。

+0

什麼是IsPreview的HTML? – st78

回答

1

收集所有的元素和價值,並使其他們只讀,然後向他們展示一個對話框:)

<div id='infor'> <span>enter name:</span> 
    <input id="nametext" type="text" /> 
</div> 
<div id='previewDiv'>&nbsp;</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

+0

我有很多信息可以預覽,從我認爲的形式中,我必須在新窗口中顯示結果,我嘗試了你所說的,但只出現在父頁面頂部 – Lino

1

爲了獲得最佳用戶體驗,我建議不要在新窗口中打開預覽,而是打開jQuery模式對話框。在對話框中添加提交&取消按鈕。這將是簡單和快速的。

但是,如果仍然要打開新的窗口,然後流會像:

  1. 創建一個AJAX POST請求,並張貼的所有內容到一個控制器(說預覽)。這裏持有會話中的值。回覆任何標誌。
  2. 請求1成功後,打開新頁面(比如預覽),它將顯示會話中的所有值。此頁面的用戶界面將包含所有發佈的值和提交按鈕。
  3. 點擊提交,它實際上會發布值。

對於兩個POST請求,您都可以使用相同的控制器,您的標誌IsPreview將位於AJAX請求的標頭中,並且不會用於預覽頁面。這個解決方案似乎需要時間

相關問題