рд╡реЗрдм, рдбреЗрдЯрд╛рдмреЗрд╕, рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдмреАрд╕реНрдкреЛрдХ рдмрд┐рдЬрдиреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдХреЗ рд╕рд╛рде 20 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╣реБ-рд░рд╛рд╖реНрдЯреНрд░реАрдп рдЯреАрдо
  • рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рд╕рдорд╛рдзрд╛рди
    • рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░
    • рд░реЛрдмреЛрдЯрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рди
    • рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░рд╛рдорд░реНрд╢ рд╕реЗрд╡рд╛рдПрдВ
      • рдбреЗрдЯрд╛ рдПрдХреАрдХрд░рдг
      • рдбрд╛рдЯрд╛рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рд╕реЗрд╡рд╛рдПрдВ
      • рдкрд╛рд╡рд░ рдмреАрдЖрдИ
      • рд╕рд░реНрд╡рд░ рдЕрдкрдЧреНрд░реЗрдб рдФрд░ рдбреАрдмреАрдП рд╕реЗрд╡рд╛рдПрдВ
    • рд╡реЗрдм рд╕рд╛рдЗрдЯ рдбрд┐рдЬрд╛рдЗрди
      • рднреБрдЧрддрд╛рди рджреНрд╡рд╛рд░
      • рд▓реЛрдЧреЛ рдбрд┐рдЬрд╛рдЗрди
      • рд╡реЗрдм рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдФрд░ рдЕрдиреБрд╡рд╛рдж
      • рд╡реЗрдм рд╕рд╛рдЗрдЯ рдЕрдиреБрдХреВрд▓рди
      • рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реБрд░рдХреНрд╖рд╛
      • рддрдХрдиреАрдХреА рдЙрдкрдХрд░рдг
    • рдХреНрд▓рд╛рдЙрдб рд╕рдорд╛рдзрд╛рди
      • рдЕрдореЗрдЬрд╝рди рд╡реЗрдм рд╕реЗрд╡рд╛рдПрдБ
      • Google рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдПрдВ
      • рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдРрдЬрд╝реБрд░
    • рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдСрдлрд┐рд╕
    • рд╕рд╛рдорд╛рдЬрд┐рдХ рдореАрдбрд┐рдпрд╛
  • рдЕрдХрд╛рджрдореА
    • рд╣рдорд╛рд░рд╛ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг
    • рдбреЗрдЯрд╛рдмреЗрд╕ рдбрд┐рдЬрд╛рдЗрди рд╕реАрдЦрдирд╛
      • рдореВрд▓ рдмрд╛рддреЗрдВ
      • SQL рд╕рд░реНрд╡рд░ Pivot-Unpivot рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
      • SQL рд╕рд░реНрд╡рд░ рдбреЗрдЯрд╛
      • SQL рд╕рд░реНрд╡рд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
      • рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ 2008 рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЬрдирд╛рдПрдБ
      • рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рддрд┐рдерд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
      • рдУрдкрди рдХреНрд╡реЗрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
    • рд╡реЗрдмрд╕рд╛рдЗрдЯ рдбрд┐рдЬрд╛рдЗрди рд╕реАрдЦрдирд╛
      • Ousia рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг
      • ASP-NET
      • CSS
      • рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
    • рдХреНрд▓рд╛рдЙрдб рдФрд░ рдЖрдИрдЯреА рд╕реЗрд╡рд╛рдПрдВ рд╕реАрдЦрдирд╛
      • рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреВрд▓рд░ рддреНрд░реБрдЯрд┐ 2147943645
      • рдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдФрд░ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕рд░рд▓ рдЪрд░рдгреЛрдВ рдореЗрдВ рдкреАрдПрдлрдПрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдирд╛
    • рд╕рд╛рдорд╛рдЬрд┐рдХ рдореАрдбрд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ
      • Google рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдкреВрдЫрдирд╛
      • рдлреЗрд╕рдмреБрдХ рдЕрдХрд╛рдЙрдВрдЯ рдХреЛ рдкрд░реНрд╕рдирд▓ рд╕реЗ рдмрд┐рдЬрдиреЗрд╕ рдореЗрдВ рдмрджрд▓рдирд╛
      • рд╕реЛрд╢рд▓ рдореАрдбрд┐рдпрд╛ рдЫрд╡рд┐ рдЖрдХрд╛рд░
      • рд╕реЛрд╢рд▓ рдореАрдбрд┐рдпрд╛ рдЫрд╡рд┐рдпрд╛рдБ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
      • рд╕реЛрд╢рд▓ рдореАрдбрд┐рдпрд╛ рдкреНрд░рдпрд╛рд╕реЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕реНрдерд╛рди рдЪреБрдирдирд╛
  • рд╣рдорд╛рд░реЗ рдмрд╛рд░реЗ рдореЗрдВ
    • рдмреНрд▓реЙрдЧ
      • Google рдХреЛрд░ рдЕрдкрдбреЗрдЯ рдЬрдирд╡рд░реА 2020
      • рдЕрдкрдиреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЪреБрдирд╛рд╡ рдХреИрд╕реЗ рдХрд░реЗрдВ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдкрддреНрд░рдХ
      • рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдХрд╖реНрдЯрдкреНрд░рдж рдмрд╛рддреЗрдВ
      • рдПрдХ рдкреНрд░рд╡реЗрд╢ рд╕реНрддрд░ рдХреА рдЧреЗрдорд┐рдВрдЧ рдорд╢реАрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг
      • рдСрдирд▓рд╛рдЗрди рдШреЛрдЯрд╛рд▓реЗ рдХреЛ рд░реЛрдХрдирд╛
      • рдЧрд┐рдЧ рдЗрдХреЙрдирдореА рдХреЗ рд╕реНрдХрд┐рдорд░реНрд╕
      • рдореБрдлреНрдд рд╡реЗрдХреНрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖ 5 рд╡реЗрдмрд╕рд╛рдЗрдЯреЗрдВ
      • рдЧрд░реНрдо рдорд┐рд░реНрдЪ рдЗрдВрдЯрд░рдиреЗрдЯ рдмрдВрдж
    • рдХрд░рд┐рдпрд░
      • рдЕрдиреБрд╡рд╛рджрдХ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА-рдЬрд╛рдкрд╛рдиреА
      • рдЕрдиреБрд╡рд╛рджрдХ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА-рддреБрд░реНрдХреА
      • рдЕрдиреБрд╡рд╛рджрдХ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА-рдкреБрд░реНрддрдЧрд╛рд▓реА
      • рдЕрдиреБрд╡рд╛рджрдХ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА-рд╕реНрдкреЗрдирд┐рд╢
    • рдЯреАрдо
      • рдЕрд▓реА рдЕрд▓ рдЕрдореАрди
      • рдРрд╕реЗ рд╣реБрд░реЛ
      • рдПрдбреНрд░рд┐рдпрди рдЖрдирдВрджрди
      • рдЧреЗрд╡рд┐рди рдХреНрд▓реЗрдЯрди
      • рдЪреЗрд╕реНрдЯрд░ рдХреЙрдкрд░рдкреЙрдЯ
      • рд╕реБрдиреАрд▓ рдХреБрдорд╛рд░
      • рд╕реВрд░реНрдп рдореБрдХреНрдХрдорд▓
      • рд╕рд╛рдИ рдЧрдВрдЧреВ
    • рдирд┐рдпрд╛рдордХ
    • рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ
Deutsch (DE)English (EN-US)English (EN-GB)рд╣рд┐рдВрджреА (HI)italiano (IT)цЧецЬмшкЮ (JA)T├╝rk (TR)

рдореЛрдмрд╛рдЗрд▓ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛ рдЕрд▓рдЧ рд╕рд╛рдЗрдЯреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдореЛрдмрд╛рдЗрд▓ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛ рдЕрд▓рдЧ рд╕рд╛рдЗрдЯреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

Use responsive CSS if possible.

I've been spending time looking at the ongoing battles between developers over one of the fundamental headaches of web design, should you build separate sites for mobile devices and desktop computers. Some of the changes that Google have introduced like syncing your bookmarks for the IPhone and Chrome are really useful, this has led me to the single site conclusion, but a lot the code below could be used to redirect to a seperate site.

The site should be easy enough to use on either, while you can turn some things on or off with some simple detection.

There is also a cookie stored on the users device that remembers the last option selected.

This is what the detection does on this site. It is a simple dropdown with three options; Desktop, Apple and Mobile. There is also a dual menu system, which offers a simplified breadcrumb for the user as well.

HTML

<asp:DropDownList ID="SelDevice" runat="server" ClientIDMode="Static" Width="100px" AutoPostBack="True">

    <asp:ListItem>Desktop</asp:ListItem>

    <asp:ListItem>Apple</asp:ListItem>

    <asp:ListItem>Mobile</asp:ListItem>

</asp:DropDownList>

<div id="SubMenu">

    <div id="Current" runat="server" clientidmode="Static"></div>

    <div id="SubMenuList" runat="server" clientidmode="Static"></div>

</div>

Now this code is used in the Page Load event, setting the linked style sheet before rendering on the page. You could also for instance change the visibility of certain items within the If statement.
LoaderVBC#

VB

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load    If Session("View") Is Nothing Then        If Request.Cookies("ViewType") Is Nothing Then            If Request.Browser.IsMobileDevice = True Then                Dim ua As String = Request.UserAgent.ToString().ToLower()                If ua.Contains("iphone") Or ua.Contains("ipad") Or ua.Contains("ipod") Then                    Session("View") = "Apple"                Else                    Session("View") = "Mobile"                End If            Else                Session("View") = "Desktop"            End If        Else            Session("View") = Request.Cookies("ViewType").Value.ToString        End If    End If    SelDevice.SelectedValue = Session("View").ToString    If Session("View").ToString = "Apple" Then        cssLink.Href = "/gsclaytonmob.css"    ElseIf Session("View").ToString = "Mobile" Then        cssLink.Href = "/gsclaytonmobold.css"    Else        cssLink.Href = "/gsclayton2.css"    End If    GetMenus()End Sub

C#

protected void Page_Load(object sender, EventArgs e){    if (Session("View") == null)    {        if (Request.Cookies("ViewType") == null)        {            if (Request.Browser.IsMobileDevice == true)            {                string ua = Request.UserAgent.ToString().ToLower();                if (ua.Contains("iphone") | ua.Contains("ipad") | ua.Contains("ipod"))                {                    Session("View") = "Apple";                }                else                {                    Session("View") = "Mobile";                }            }            else            {                Session("View") = "Desktop";            }        }        else        {            Session("View") = Request.Cookies("ViewType").Value.ToString;        }    }    SelDevice.SelectedValue = Session("View").ToString;    if (Session("View").ToString == "Apple")    {        cssLink.Href = "/gsclaytonmob.css";    }    else if (Session("View").ToString == "Mobile")    {        cssLink.Href = "/gsclaytonmobold.css";    }    else    {        cssLink.Href = "/gsclayton2.css";    }    GetMenus();}
In the code above you would replace the setting of CSS with a redirect.
We will need some code to recognise that the user has changed their view type. We will also stored a cookie here to remember the value next time they access the site.
LoaderVBC#

VB

Protected Sub SelDevice_SelectedIndexChanged(sender As Object, e As EventArgs) Handles SelDevice.SelectedIndexChanged    Session("View") = SelDevice.SelectedValue    Response.Cookies("ViewType").Value = Session("View")    Response.Cookies("ViewType").Expires = DateTime.Now.AddDays(1000)    If Session("View").ToString = "Apple" Then        cssLink.Href = "/gsclaytonmob.css"    ElseIf Session("View").ToString = "Mobile" Then        cssLink.Href = "/gsclaytonmobold.css"    Else        cssLink.Href = "/gsclayton2.css"    End If    GetMenus()End Sub

C#

protected void SelDevice_SelectedIndexChanged(object sender, EventArgs e){    Session("View") = SelDevice.SelectedValue;    Response.Cookies("ViewType").Value = Session("View");    Response.Cookies("ViewType").Expires = DateTime.Now.AddDays(1000);    if (Session("View").ToString == "Apple")    {        cssLink.Href = "/gsclaytonmob.css";    }    else if (Session("View").ToString == "Mobile")    {        cssLink.Href = "/gsclaytonmobold.css";    }    else    {        cssLink.Href = "/gsclayton2.css";    }    GetMenus();}
Once the menu type has been set we can also populate the menu manually in code behind, adding the references dependant on the menu provided.
LoaderVBC#

VB

Protected Sub GetMenus()    Dim m As String = Page.RouteData.Values("PageMenu")    Select Case m        Case "Home"            'HomeSubMenu.Attributes.CssStyletyle = "Active"            Current.InnerHtml = "Home"            Dim a As New HyperLink            a.NavigateUrl = "Home/"            a.Text = "Home"            SubMenuList.Controls.Add(a)            Dim b As New HyperLink            b.NavigateUrl = "About/"            b.Text = "About"            SubMenuList.Controls.Add(b)            Dim c As New HyperLink            c.NavigateUrl = "Login/"            c.Text = "Login"            SubMenuList.Controls.Add(c)    End SelectEnd Sub

C#

protected void GetMenus(){    string m = Page.RouteData.Values("PageMenu");    switch (m)    {        case "Home":            //HomeSubMenu.Attributes.CssStyletyle = "Active"            Current.InnerHtml = "Home";            HyperLink a = new HyperLink();            a.NavigateUrl = "Home/";            a.Text = "Home";            SubMenuList.Controls.Add(a);            HyperLink b = new HyperLink();            b.NavigateUrl = "About/";            b.Text = "About";            SubMenuList.Controls.Add(b);            HyperLink c = new HyperLink();            c.NavigateUrl = "Login/";            c.Text = "Login";            SubMenuList.Controls.Add(c);            break;    }}

You can then style each of the Menus differently in your CSS, for example each of the links in my Sub Menu area are styled differently. The first one is for mobile (full width), and the second for desktop.

CSS

#SubMenu a{color: #332700;float: left;width: 100%;display: block;text-decoration: none;padding: 5px 0px 5px 0px;font-size: large;border-bottom: 1px solid Grey;}#SubMenu a{color: #45144D;padding-left: 8px;float: right;text-decoration: none;}

Author

Helpful?

Please note, this commenting system is still in final testing.

рдХреНрд▓реЗрдЯрд╛рдмреЗрд╕ рджреНрд╡рд╛рд░рд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдбрд┐рдЬрд╛рдЗрди

рдпрд╣ рдХреЛрдб рдХрд╛ рдПрдХ рднрд╛рдЧ рд╣реИ рдЬрд┐рд╕реЗ Ousia рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдХреЛрдб рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдмрд╛рдЬрд╛рд░ рдкрд░ рд╕рдмрд╕реЗ рддреЗрдЬ рдФрд░ рд╕рдмрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдбрд┐рдЬрд╛рдЗрди рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рдпреЗ рд▓рдЧрднрдЧ ┬г500 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

рд╣рдо рд░рд┐рд╕реНрдкреЙрдиреНрд╕рд┐рд╡ CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред

рдЕрдзрд┐рдХ: рдЙрддреНрддрд░рджрд╛рдпреА рдФрд░ рддреЗрдЬред рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рд╡реЗрдм рд╡рд┐рдХрд╛рд╕, рдбрд┐рдЬрд╛рдЗрди рдФрд░ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ
Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink рд╣рдорд╕реЗ-рд╕рдВрдкрд░реНрдХ-рдХрд░реЗрдВрдХреВрдХреА рдиреАрддрд┐рд╕рд╛рдЗрдЯрдореИрдк

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
рдЗрд╕ рд╕рд╛рдЗрдЯ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рднреА рдХреБрдХреАрдЬрд╝ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рд╣реИрдВ рдЗрдиреНрд╣реЗрдВ рд╣рдорд╛рд░реА рдХреБрдХреА рдиреАрддрд┐ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧ рдкреГрд╖реНрда рдкрд░ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╕рд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЖрдк рдХреБрдХреАрдЬрд╝ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕рд╣рдордд рд╣реИрдВред
Ousia Logo
Logout
Ousia CMS Loader