使用ASP.net在Mac / iOS上打开Numbers应用程序

时间:2013-01-10 05:10:49

标签: asp.net .net ios macos

我们有一个内置于.net的网站。其中一个页面检测用户所使用的操作系统,然后根据此操作系统显示xls / numbers图标。

当用户点击图标时,Excel或Numbers应打开并显示空白页。

这适用于基于微软的操作系统,但对macs / iOS设备没有好运。

.cshtml文件中的代码调用控制器操作来打开任一应用程序。 这是我们正在使用的当前代码:

File.cshtml

// WINDOWS OS
if (ViewBag.os == "windows") {
    <li><a href='@Url.Action("LoadFile", "Footprint", new { os = "windows" }, null)'><img src='@Url.Content("~/Content/img/excelicon.png")' width="55px" height="55px" /></a>  </li>                                   

// MAC OR IOS                                            
} else {
  if (ViewBag.os == "mac") {
    <li><a href='@Url.Action("LoadFile", "Footprint", new { os = "mac" }, null)'><img src='@Url.Content("~/Content/img/numbersicon.png")' width="55px" height="55px" /></a>  </li>

} else {
  <li><a href='@Url.Action("LoadFile", "Footprint", new { os = "ios" }, null)'><img src='@Url.Content("~/Content/img/numbersicon.png")' width="55px" height="55px" /></a>  </li>                                     
}

控制器

public ActionResult LoadFile(string os) {

  if (os == "windows") {
    System.Diagnostics.Process.Start("excel.exe", "/m");

  } else {    
    // Open Numbers.app
    ??
  }
  return Json(false, JsonRequestBehavior.AllowGet);
}

有没有办法可以使用Process.Start()来打开Numbers.app? 任何其他想法都会很棒!

提前致谢, 吉

1 个答案:

答案 0 :(得分:2)

不,没有普遍适用的方法在Mac OS或iOS上启动应用程序而不下载并打开与之关联的文件。

事实上,您的Windows代码也有问题 - 当单击其中一个链接时,它将在服务器上打开Excel 的实例,而不是在客户端计算机上。