MVC3 C# Razorview Printing a PartialView using Javascript

MVC3 C# Razorview Printing a PartialView using Javascript

本文关键字:PartialView using Javascript Printing Razorview MVC3      更新时间:2023-09-26

我正在尝试让按钮打印部分视图。

|主视图 |部分视图 |

|用户 |公司简介 |


在用户之上,我有链接,用户可以单击这些链接来访问他的个人资料或报告等......我创建了一个链接,使用媒体打印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没有任何:(。

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

阿贾克斯

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,然后(一旦我想象它已经消失了),你调用 print()。但是,该语句永远不会被命中,因为更改位置类似于返回语句,即所有执行都在该点终止。

是否有适合您的替代方案,即执行 jquery ajax 调用,或者 jquery 不适用(我没有看到标签)。我们是戈拉,快行动!!:-)

另外,顺便说一句,您的URL定义非常非常脆弱,您至少应该考虑使用@Url.Action()即:

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

。相反,无论您的托管配置如何,这都将保证保真度。Tho',我的坚定建议是使用 ajax 调用您的partialview;根据您提供的信息,没有其他方法可以为您工作。