簡體   English   中英

MVC3 C#Razorview使用Java腳本打印PartialView

[英]MVC3 C# Razorview Printing a PartialView using Javascript

我正在嘗試讓按鈕打印局部視圖。

| 主視圖| 局部視圖|

| 用戶| 簡介|


在用戶之上,我具有鏈接,用戶可以單擊以訪問他的個人資料或他的報告等。我創建了一個鏈接,以使用Media Print CSS打印他們的個人資料,以使其在紙上看起來完美。

我遇到的問題是使它起作用。

function print_url () {
  location: url;
  print();
}
<li data-username="@Model.UserName"><a href="javascript:print_url('URL/Home/ContentView?username=@Model.UserName')">Print Profile</a></li>

這必須適用於所有瀏覽器。 Chrome只是說沒有可用的視圖,firefox沒有響應,IE也沒什么:(。

如果您有任何想法,那就太好了。

AJAX

getUserData: function (elem) {
  $elem = $(elem).closest("[data-username]");
  var username = $elem.data("username");
  var profile = $elem.data("profile");
  var directReport = $elem.data("direct-report");
  $.ajax({
    url: 'Home/ContentView?username=' + username,
    type: 'GET',
    data: username,
    data: profile,
    data: directReport,
    beforeSend: function () {
      $('#loader').css('display', 'block');
    },
    success: function (result) {
      $("#content").html(result).scrollTop(result);
      //$("#tabs").fadeIn('1500');
      //console.log(result + '\n\n DONE');
    },
    error: function (e, msg) {
      //console.log(e, msg);
    }
  })

棄兒

好的,您輸入一個location: url ,然后(一旦我想它已經進入了url),就調用print()。 但是,該語句永遠不會被擊中,因為更改位置類似於return語句,即所有執行都在該點終止。

是否有可能適合您的替代方案,即執行jquery ajax調用,或者jquery不適用(我看不到標簽)。 我們戈拉在這里快! :-)

此外, @Url.Action() ,您的URL定義非常脆弱,您至少應考慮使用@Url.Action()即:

<a href="javascript:print_url('@Url.Action("action", "controller, new {username=@Model.UserName}, null)'">

...相反,因為無論您的主機配置如何,這都將保證保真度。 我的堅定建議是使用Ajax調用您的partialview 根據您提供的信息,沒有其他方法可以為您工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM