-1

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

当用户单击该图标时,Excel 或 Numbers 应打开一张空白表。

这对于基于 microsoft 的操作系统运行良好,但在 macs/iOS 设备上没有运气。

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

文件.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?任何其他想法都会很棒!

在此先感谢, 凯特

4

1 回答 1

2

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

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

于 2013-01-10T05:14:56.080 回答