-1

.net で構築された Web サイトがあります。ページの 1 つは、ユーザーが使用しているオペレーティング システムを検出し、そのオペレーティング システムに応じて xls/numbers アイコンを表示します。

ユーザーがアイコンをクリックすると、Excel または Numbers のいずれかが空白のシートで開きます。

これは、Microsoft ベースのオペレーティング システムでは問題なく動作しますが、Mac/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 を開く方法はありますか? 他のアイデアは素晴らしいでしょう!

前もってありがとう、キャット

4

1 に答える 1

2

いいえ、アプリケーションに関連付けられたファイルをダウンロードして開かずに、Mac OS または iOS でアプリケーションを起動する一般的な方法はありません。

実際、あなたの Windows コードにも問題があります。これらのリンクの 1 つがクリックされると、クライアント マシンではなく、サーバー上で Excel のインスタンスが開きます。

于 2013-01-10T05:14:56.080 に答える