2013-01-10 2 views
-1

Nous avons un site web construit en .net. L'une des pages détecte le système d'exploitation de l'utilisateur et affiche une icône xls/numbers en fonction de ce système.Application Open Numbers sur Mac/iOS en utilisant ASP.net

Lorsque l'utilisateur clique sur l'icône, Excel ou Numbers doit s'ouvrir avec une feuille vierge.

Cela fonctionne très bien pour les systèmes d'exploitation basés sur Microsoft, mais n'ayant pas de chance avec les macs/périphériques iOS.

Le code dans le fichier .cshtml appelle une action du contrôleur pour ouvrir l'une ou l'autre application. Ce est le code actuel, nous utilisons:

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>          
} 

Contrôleur

public ActionResult LoadFile(string os) { 

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

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

est-il un moyen que nous pouvons utiliser Process.Start() pour ouvrir le Numbers.app? Toutes les autres idées seraient géniales!

Merci à l'avance, Kat

Répondre

2

Non, il n'y a pas généralement moyen applicable pour lancer une application sur Mac OS ou iOS sans avoir à télécharger et d'ouvrir un fichier qui lui est associé.

En fait, votre code Windows est également défectueux - il va ouvrir une instance de Excel sur le serveur lorsque l'un de ces liens est cliqué, pas sur l'ordinateur client.