Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • talmetro 3 posts 23 karma points
    Jul 09, 2023 @ 08:47
    talmetro
    0

    The "RenderBody" method has not been called for layout page "~/Views/Master.cshtml".

    Hey guys, something went wrong with my code. Can't find my way back to display the site properly, can anyone help me fix this?

    Server Error in '/' Application.

    The "RenderBody" method has not been called for layout page "~/Views/Master.cshtml".


    @inherits Umbraco.Web.Mvc.UmbracoTemplatePage @{ Layout = null; var home = CurrentPage.Site(); }

    @{ bool isMobile = false; string u = Request.ServerVariables["HTTPUSERAGENT"]; System.Text.RegularExpressions.Regex b = new System.Text.RegularExpressions.Regex(@"(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino", System.Text.RegularExpressions.RegexOptions.IgnoreCase | System.Text.RegularExpressions.RegexOptions.Multiline); System.Text.RegularExpressions.Regex v = new System.Text.RegularExpressions.Regex(@"1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|)|g1 u|g560|gene|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| ||a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh");

    if (b.IsMatch(u) || v.IsMatch(u.Substring(0, 4)))
    {
        isMobile = true;
    }
    string bodyClass = isMobile ? "isMobile" : "";
    

    }

    <!-- Meta tags -->
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="@CurrentPage.metaDescription">
    <meta name="description" content="@CurrentPage.metaKeywords">
    
    <title>@CurrentPage._siteTitle</title>
    
    <!-- CSS -->
    <link rel="stylesheet" href="~/css/ui-grid.css" type="text/css" />
    <link rel="stylesheet" type="text/css" href="/css/flexslider.css">
    <link href="~/css/bootstrap-rtl.css" rel="stylesheet" />
    <link href="~/css/loginStyles.css" rel="stylesheet" />
    <link rel="stylesheet" type="text/css" href="/css/styles.css">
    <link rel="stylesheet" type="text/css" href="/css/shop-styles.css">
    
    
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="//oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="//oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    <!--[if gte IE 9]>
    <style type="text/css">
        .gradient {
            filter: none;
        }
    </style>
    <![endif]-->
    

    @{ string headerClassName = CurrentPage.Id == 1055 ? "main-page" : ""; }

    @{ Html.RenderPartial("Header"); }
    @RenderBody()
    @{ Html.RenderPartial("Footer"); }
    @if (!isMobile) { Html.RenderPartial("Login-Register"); } @Html.Raw(home.googleAnalyticsScript)

    <!-- Javascripts -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
    <script src="/scripts/bootstrap-rtl.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.js"></script>
    <script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.11.2.js"></script>
    <script src="/scripts/ui-grid.min.js"></script>
    <script src="/scripts/miahadbarot.js"></script>
    <script src="/scripts/bundle.js"></script>
    <script type="text/javascript">
        /* <![CDATA[ */
        var google_conversion_id = 995713939;
        var google_custom_params = window.google_tag_params;
        var google_remarketing_only = true;
        /* ]]> */
    </script>
    <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"></script>
    <noscript>
        <div style="display:inline;">
            <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/995713939/?value=0&amp;guid=ON&amp;script=0" />
        </div>
    </noscript>
    
    <!-- Facebook Pixel Code -->
    <script>
        !function (f, b, e, v, n, t, s) {
            if (f.fbq) return; n = f.fbq = function () { n.callMethod ?
                n.callMethod.apply(n, arguments) : n.queue.push(arguments) }; if (!f._fbq) f._fbq = n;
            n.push = n; n.loaded = !0; n.version = '2.0'; n.queue = []; t = b.createElement(e); t.async = !0;
            t.src = v; s = b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t, s)
        }(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
    
        fbq('init', '480015382146551');
        fbq('track', "PageView");
    </script>
    <noscript><img height="1" width="1" style="display:none"
            src="https://www.facebook.com/tr?id=480015382146551&ev=PageView&noscript=1"
        /></noscript>
    <!-- End Facebook Pixel Code -->
    
    @if (isMobile)
    {
        <!-- Google Code for &#1492;&#1514;&#1511;&#1513;&#1512;&#1493;&#1514; &#1491;&#1512;&#1498; &#1488;&#1514;&#1512; &#1505;&#1500;&#1493;&#1500;&#1512;&#1497; Conversion Page
        In your html page, add the snippet and call
        goog_report_conversion when someone clicks on the
        phone number link or button. -->
        <script type="text/javascript">
            /* <![CDATA[ */
            goog_snippet_vars = function () {
                var w = window;
                w.google_conversion_id = 995713939;
                w.google_conversion_label = "_F3nCIW3pGcQk8fl2gM";
                w.google_remarketing_only = false;
            }
            // DO NOT CHANGE THE CODE BELOW.
            goog_report_conversion = function (url) {
                goog_snippet_vars();
                window.google_conversion_format = "3";
                var opt = new Object();
                opt.onload_callback = function () {
                    if (typeof (url) != 'undefined') {
                        window.location = url;
                    }
                }
                var conv_handler = window['google_trackConversion'];
                if (typeof (conv_handler) == 'function') {
                    conv_handler(opt);
                }
            }
            /* ]]> */
        </script>
        <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion_async.js"></script>
    }
    

  • Marc Goodson 2155 posts 14408 karma points MVP 9x c-trib
    Jul 09, 2023 @ 08:53
    Marc Goodson
    0

    Hi talmetro

    difficult to say as your code sample hasn't appeared fully

    But essentially each template of your site, will have a master layout view, where the header and footer of the site exists and in the middle of that layout you call

    @RenderBody()
    

    and then any template that uses the master layout will have it's HTML appear wherever RenderBody is called...

    I can see @RenderBody() in the part of your sample above, so it makes me think that it is either in the wrong place, or something is commenting it out?

    regards

    Marc

  • talmetro 3 posts 23 karma points
    Jul 09, 2023 @ 11:49
    talmetro
    0

    I uploaded the code to the drive, hope it is more organized. Is there a way to fix this? I haven't touched it except to add a line of Facebook pixel towards the end, and it went wrong.

    https://docs.google.com/document/d/1aJI5Eo_niF9MhXVRMZYDtkiUmyerPqDSqBRGvz5gkq0/edit?usp=sharing

  • Marc Goodson 2155 posts 14408 karma points MVP 9x c-trib
    Jul 09, 2023 @ 12:57
    Marc Goodson
    1

    Hi Talmetro

    I can't immediately see the issue from the code... :-(

    I'm not sure why the bit below the Facebook Pixel Code is wrapped inside an @if(isMobile) but that's completely unrelated

    I can't see a missing closing } that would be preventing the RenderBody from being called...

    ... what I tend to do in this scenario, which is super frustrating, is take everything out of the master.cshtml so it is in it's simplest form

    eg

    @inherits Umbraco.Web.Mvc.UmbracoTemplatePage
    @{
        Layout = null;
        var home = @CurrentPage.Site();
    }
    <!DOCTYPE html>
    <html lang="en">
    <head>
    </head>
    <body>
    @RenderBody()
    </body>
    </html>
    

    and confirm that is then rendering 'something' without the error

    Then I introduce the implementation 'bit by bit' into the master layout, checking after each one, to find the section which is blowing up!

    then it usually becomes obvious what is the thing that is causing the issue.

    good luck!

    regards

    marc

  • talmetro 3 posts 23 karma points
    Jul 09, 2023 @ 13:50
    talmetro
    0

    Hi Mark, can we chat via email / phone and try to resolve this via teamviewer? Regards, Telemetro

  • Huw Reddick 1929 posts 6697 karma points MVP 2x c-trib
    Jul 09, 2023 @ 15:40
    Huw Reddick
    0

    Hi Talmetro,

    I don't know if this is causing a problem but you appera to have a stray closing div tag

        @if (!isMobile)
        {
            Html.RenderPartial("Login-Register");
        }
        </div> <--- There is no opening div for this
    @Html.Raw(home.googleAnalyticsScript)
    
Please Sign in or register to post replies

Write your reply to:

Draft