ASP.NET-如何检测MAC用户 - c#

我正在尝试使用c#检测MAC用户。我已经使用了以下代码,但是当Mac用户导航到我的网站时,它始终显示未知。它非常适合Windows用户,但不适用于MAC或其他任何工具。有没有人有任何想法如何选择Mac用户?

谢谢

    HttpBrowserCapabilities moo = HttpContext.Current.Request.Browser;

    StringBuilder sb = new StringBuilder();

    sb.Append("<p>Browser Capabilities:</p>");
    sb.Append("Type = " + moo.Type + "<br>");
    sb.Append("Name = " + moo.Browser + "<br>");
    sb.Append("Version = " + moo.Version + "<br>");
    sb.Append("Major Version = " + moo.MajorVersion + "<br>");
    sb.Append("Minor Version = " + moo.MinorVersion + "<br>");
    sb.Append("Platform = " + moo.Platform + "<br>");
    sb.Append("Is Beta = " + moo.Beta + "<br>");
    sb.Append("Is Crawler = " + moo.Crawler + "<br>");
    sb.Append("Is AOL = " + moo.AOL + "<br>");
    sb.Append("Is Win16 = " + moo.Win16 + "<br>");
    sb.Append("Is Win32 = " + moo.Win32 + "<br>");
    sb.Append("Supports Frames = " + moo.Frames + "<br>");
    sb.Append("Supports Tables = " + moo.Tables + "<br>");
    sb.Append("Supports Cookies = " + moo.Cookies + "<br>");
    sb.Append("Supports VB Script = " + moo.VBScript + "<br>");       
    sb.Append("Supports ActiveX Controls = " + moo.ActiveXControls + "<br>");
    sb.Append("CDF = " + moo.CDF + "<br>");

参考方案

您可以从Request.UserAgent中提取操作系统信息。

Macintosh用户代理字符串的格式如下:

“ Mozilla / 5.0(Macintosh; U; Intel Mac OS X 10_5_6; zh-CN)
AppleWebKit / 528.16(KHTML,如Gecko)版本/4.0 Safari / 528.16“

“ Mozilla / 4.0(兼容; MSIE 5.15; Mac_PowerPC)”

因此,您可以执行以下操作:

public bool IsMacOS(string userAgent)
{
    var osInfo = userAgent.Split(new Char[] { '(', ')' })[1];
    return osInfo.Contains("Mac_PowerPC") || osInfo.Contains("Macintosh");
}

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …

Asp.Net:在服务器端还原DropDownList的客户端SelectedItem - c#

因此,我的页面上有一个dropDownList,其中包含数百个项目。用户可以通过在文本框中键入一些文本来过滤此DDL。然后对DDL进行相应的过滤(所有不包含输入文本的项目都将通过JavaScript删除)。然后,用户选择他的项目并按下按钮。通常,这将导致错误,因为DDL已更改并且ASP验证了PostBack数据。但是,使用EnableEventValidat…

ASP.net C#崩溃一行 - c#

我有一个母版页,在on load事件中包含以下几行: string menuIDdata = Page.Request.QueryString["mid"]; menuID = 0; // Get the menu ID if (!int.TryParse(menuIDdata, out menuID)) { menuID = 0; } …

asp.net:treeview-显示文本框是否选中? - c#

我需要向用户显示字符串列表。用户可以选择多个字符串。如果选择了一组特定的字符串,则每个字符串旁边都会出现一个文本框。我想做的是向用户显示一个TREEVIEW,每个节点都是字符串之一。他们将通过选中复选框来选择所需的每个字符串。问题:如果用户选择特定的复选框,则我需要一个文本框来显示用户的GET输入。问题:如何从用户使用树形视图获取字符串输入? 参考方案 Tr…

使用Java脚本基于另一个控件项来验证ASP.NET C#控件 - c#

我正在尝试确保一个下拉框或另一个下拉框具有选定的条目,不能两者都选,并且不能都留空/未选择。每次单击运行javascript验证代码的搜索按钮时,即使我只是从一个下拉列表中选择,甚至从两个下拉列表中都没有选择,我都会收到一条消息,好像在两个下拉框中都选择了一样!这可能是我的逻辑,但是,我认为也可能是我的变量读为null。是否有人对问题可能是什么以及如何解决这…