我们有一个内置于.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? 任何其他想法都会很棒!
提前致谢, 吉
答案 0 :(得分:2)
不,没有普遍适用的方法在Mac OS或iOS上启动应用程序而不下载并打开与之关联的文件。
事实上,您的Windows代码也有问题 - 当单击其中一个链接时,它将在服务器上打开Excel 的实例,而不是在客户端计算机上。