IIS and asp.net
All of a sudden my page won’t render correctly. Not sure when it started, but it might have been on the update to 7.4.0. I saw that there was an issue so I reverted back to 7.3.9. Maybe that’s issue? But I hadn’t changed anything on this page other than adding some meta description tags. So I don’t know if I should reinstall 7.4.0 or what? Any ideas this is kind of an emergency as I am having family health emergency and this client is down…. @patrick @george @teodor
The page is here: https://opticarmorwindows.com/Race-Windows/Chevrolet/Camaro-1967-to-1969/16
Here is the error log in the browser:
And here is the page code:
<!DOCTYPE html>
<html lang="en">
<head>
<script src="dmxAppConnect/dmxAppConnect.js"></script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-ERMK32RBRM"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-ERMK32RBRM');
</script>
<meta name="ac:route" content="/Race-Windows/:manufacturer/:model/:cat_id">
<base href="/">
<meta charset="UTF-8">
<title>Race Window Application Details | Optic Armor Windows</title>
<meta name="description" content="Explore application details for Optic Armor Race Windows. Find manufacturer, model specifics, SKU, price, tint options, window types, thickness, and shipping times. Shop DIBO and Oversized windows with expert info and fast ordering at Optic Armor Windows.">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="css/style.css" />
<link rel="stylesheet" href="bootstrap/5/darkly/bootstrap.min.css" />
<script src="dmxAppConnect/dmxBootstrap5Navigation/dmxBootstrap5Navigation.js" defer></script>
<script src="https://kit.fontawesome.com/ebccee68c7.js" crossorigin="anonymous"></script>
<script src="dmxAppConnect/dmxBrowser/dmxBrowser.js" defer></script>
<script src="dmxAppConnect/dmxFormatter/dmxFormatter.js" defer></script>
<link rel="stylesheet" href="dmxAppConnect/dmxBootstrap5TableGenerator/dmxBootstrap5TableGenerator.css" />
<script src="dmxAppConnect/dmxDatastore/dmxDatastore.js" defer></script>
<script src="dmxAppConnect/dmxBootstrap5Modal/dmxBootstrap5Modal.js" defer></script>
<link rel="stylesheet" href="dmxAppConnect/dmxPreloader/dmxPreloader.css" />
<script src="dmxAppConnect/dmxPreloader/dmxPreloader.js" defer></script>
<link rel="stylesheet" href="dmxAppConnect/dmxAnimateCSS/animate.min.css" />
<script src="dmxAppConnect/dmxAnimateCSS/dmxAnimateCSS.js" defer></script>
<script src="dmxAppConnect/dmxDataTraversal/dmxDataTraversal.js" defer></script>
<script src="dmxAppConnect/dmxBootstrap5Popovers/dmxBootstrap5Popovers.js" defer></script>
</head>
<body id="applicationdetails" is="dmx-app">
<section id="ServerConnect">
<dmx-serverconnect id="conn_ApplicationDetails" url="dmxConnect/api/Applications/applicationDetails_2.aspx" dmx-param:make="query.manufacturer" dmx-param:short_description="query.model" dmx-param:cat_id="query.cat_id"></dmx-serverconnect><dmx-data-view id="data_view1" dmx-bind:data="conn_ApplicationDetails.data.queryApplicationDetails" filter="thickness==formRaceWindowsChoice.inp_thickness.value&&window_location==formRaceWindowsChoice.inp_windowposition.value&&type==formRaceWindowsChoice.inp_type.value&&tint_darkness==formRaceWindowsChoice.inp_tint_darkness.value" sorton=""></dmx-data-view>
</section>
<section id="Components">
<dmx-datastore id="cart"></dmx-datastore>
<div is="dmx-browser" id="browser1"></div>
<dmx-preloader id="preloader1" spinner="cubeGrid" bgcolor="#333333" size="300" color="#ce8716"></dmx-preloader>
</section>
<section id="Variables">
<dmx-value id="varTintExample" dmx-bind:value="'<img src="assets/images/Tint-Examples.jpg" width="200">'"></dmx-value>
</section>
<!--#include file="includes/header.aspx" -->
<main class="mt-2">
<div class="container">
<div class="row" id="Breadcrumbs">
<div class="col">
<div class="breadcrumb">
<a class="breadcrumb-item breadcrumb-link" href="Home">Home</a>
<a class="breadcrumb-item breadcrumb-link" dmx-on:click="browser1.goto('Race-Windows')" style="cursor: pointer">Race Windows</a>
<a class="breadcrumb-item breadcrumb-link" dmx-on:click="browser1.goto('Race-Windows/'+query.manufacturer)" style="cursor: pointer">{{query.manufacturer.replace('-', ' ', false)}}</a>
<a class="breadcrumb-item breadcrumb-link" href="#">{{query.model.replace('-', ' ', false)}}</a>
</div>
</div>
</div>
<div class="row">
<div class="col-12 col-lg-6">
<span dmx-show="conn_ApplicationDetails.data.queryCatImage.has_cat_image!=true"><img dmx-bind:src="'/assets/images/makes/'+conn_ApplicationDetails.data.queryCatImage.make_image_id+'/'+conn_ApplicationDetails.data.queryCatImage.make_image_image" class="img-fluid" width="640"></span>
<span dmx-show="conn_ApplicationDetails.data.queryCatImage.has_cat_image==true"><img dmx-bind:src="'/assets/images/cats/'+conn_ApplicationDetails.data.queryCatImage.cat_id+'/'+conn_ApplicationDetails.data.queryCatImage.cat_image" width="640" class="img-fluid rounded"></span>
</div>
<div class="col-12 col-lg-6">
<div class="row">
<div class="col">
<div class="col text-center">
<h1 class="h3 text-start text-warning d-none d-md-block">{{query.manufacturer.replace('-', ' ', false)+' '+query.short_description+' '+query.model.replace('-', ' ', false)}} <span dmx-show="conn_ApplicationDetails.state.executing"><i class="fa-solid fa-spinner fa-spin-pulse"></i></span></h1>
<h1 class="h5 text-start text-warning d-md-none"><i class="fa-solid fa-rectangles-mixed" aria-hidden="true"></i> {{query.manufacturer.replace('-', ' ', false)+' '+query.short_description+' '+query.model.replace('-', ' ', false)}} <span dmx-show="conn_ApplicationDetails.state.executing"><i class="fa-solid fa-spinner fa-spin-pulse"></i></span></h1>
</div>
</div>
</div>
<div class="row">
<div class="col">
<form id="formRaceWindowsChoice" method="post">
<div class="row">
<div class="col">
<p>{{data_view1.data[0].long_description}}</p>
</div>
</div>
<div class="form-group mb-3 row mb-lg-0">
<label for="inp_quantity" class="col-sm-4 col-form-label col-6">SKU</label>
<div class="col-sm-8 col-6">
<p><span dmx-show="data_view1.data[0].SKU">{{data_view1.data[0].SKU}}</span><span dmx-hide="data_view1.data[0].SKU">N/A</span></p>
</div>
</div>
<div class="form-group mb-3 row mb-lg-0">
<label for="inp_quantity" class="col-sm-4 col-form-label col-6">Price</label>
<div class="col-sm-8 col-6">
<p>
<span dmx-show="data_view1.data[0].type=='DIBO'">{{data_view1.data[0].price_dibo1.toNumber().formatCurrency('$', '.', ',', 0)}}</span>
<span dmx-show="data_view1.data[0].type=='Oversized'">{{data_view1.data[0].price_oversized1.toNumber().formatCurrency('$', '.', ',', 0)}}</span>
<span dmx-hide="data_view1.data[0].price_dibo1||data_view1.data[0].price_oversized1">N/A</span>
</p>
</div>
</div>
<div class="form-group mb-3 row">
<label for="inp_windowposition" class="col-sm-4 col-form-label">Window Location</label>
<div class="col-sm-8">
<select id="inp_windowposition" class="form-select" dmx-bind:options="conn_ApplicationDetails.data.queryWinLocations" name="windowposition" optiontext="window_location" optionvalue="window_location">
</select>
</div>
</div>
<div class="form-group mb-3 row">
<label for="inp_type" class="col-sm-4 col-form-label">Type</label>
<div class="col-sm-8">
<select id="inp_type" class="form-select" dmx-bind:options="conn_ApplicationDetails.data.queryAvailableType" optiontext="type == 'DIBO' ? 'Drop In Black Outs (DIBO)' : type" optionvalue="type" name="type">
</select>
</div>
</div>
<div class="form-group mb-3 row">
<label for="inp_tint_darkness" class="col-sm-4 col-form-label">Tint <span dmx-bs-popover="{{varTintExample.value}}" data-bs-trigger="hover focus" dmx-bind:popover-title="'Tint Examples'" data-bs-html="true" class="text-warning"><i class="fas fa-info-square fa-xl"></i></span></label>
<div class="col-sm-8">
<select id="inp_tint_darkness" class="form-select" name="tint_darkness" dmx-bind:options="conn_ApplicationDetails.data.queryTintChoices" optiontext="tint_darkness" optionvalue="tint_darkness">
</select>
</div>
</div>
<div class="form-group mb-3 row">
<label for="inp_thickness" class="col-sm-4 col-form-label">Thickness</label>
<div class="col-sm-8">
<select id="inp_thickness" class="form-select" dmx-bind:options="conn_ApplicationDetails.data.queryThickessAvails.sort(`thickness.baldEagleToMetric()`)" optiontext="thickness" optionvalue="thickness" name="thickness">
</select>
</div>
</div>
<div class="form-group mb-3 row">
<label for="inp_quantity" class="col-sm-4 col-form-label">Quantity</label>
<div class="col-sm-4" id="id_quantity" style="display: flex; align-items: center;">
<button id="btn_decrease" class="btn btn-light" type="button" style="flex-shrink: 0;">
<i class="fa-solid fa-minus"></i>
</button>
<input type="number" class="form-control" id="inp_quantity" name="quantity" value="1" min="1" style="margin: 0 5px; flex: 1;">
<button id="btn_increase" class="btn btn-light" type="button" style="flex-shrink: 0;"><i class="fa-solid fa-plus"></i></button>
</div>
</div>
<div class="form-group mb-3 row">
<label for="input1" class="col-sm-4 col-form-label">Shipping Time Expectation</label>
<div class="col-sm-8 align-self-center">
<span dmx-show="data_view1.data[0].type.contains('Oversized')">
<p>OVERSIZED PARTS: CURRENT LEAD TIME 3-4 WEEKS</p>
</span>
<span dmx-show="data_view1.data[0].type.contains('DIBO')">
<p>DIBO: TYPICALLY IN STOCK, 3 DAYS TO SHIP. 3-4 WEEKS IF NOT IN STOCK ORDER ACKNOWLEDGEMENT WILL BE SENT INDICATING INVENTORY STATUS</p>
</span>
<span dmx-hide="data_view1.data[0].type.contains('Oversized') || data_view1.data[0].type.contains('DIBO')">
<p>N/A</p>
</span>
</div>
</div>
<div class="form-group mb-3 row">
<div class="col-sm-4">
</div>
<div class="col-sm-8">
<span dmx-show="(data_view1.data[0].type == 'DIBO')"><button id="btnDIBO" class="btn btn-info text-nowrap" dmx-on:click="cart.upsert({},{prod_id: data_view1.data[0].app_id, prod_price: data_view1.data[0].price_dibo1, quantity: inp_quantity.value, prod_description: data_view1.data[0].short_description, prod_tint: inp_tint_darkness.selectedValue, prod_thickness: inp_thickness.selectedText, prod_name: data_view1.data[0].SKU, prod_window_location: data_view1.data[0].window_location, shipping: data_view1.data[0].shipping});modalAddToCart.show()"><i class="fa-solid fa-cart-plus" aria-hidden="true"></i> Buy Now</button></span>
<span dmx-show="(data_view1.data[0].type == 'Oversized')"><button id="btnOversized" class="btn btn-info text-nowrap" dmx-on:click="cart.upsert({},{prod_id: data_view1.data[0].app_id, prod_price: data_view1.data[0].price_oversized1, quantity: inp_quantity.value, prod_description: data_view1.data[0].short_description, prod_tint: inp_tint_darkness.selectedValue, prod_thickness: inp_thickness.selectedText, prod_name: data_view1.data[0].SKU, prod_window_location: data_view1.data[0].window_location, shipping: data_view1.data[0].shipping});modalAddToCart.show()"><i class="fa-solid fa-cart-plus" aria-hidden="true"></i> Buy Now</button></span>
<button class="btn btn-warning" dmx-show="conn_whoami.data.queryRoles[0].role=='A'" dmx-on:click="browser1.goto('admin/edit_race_window.aspx?app_id='+data_view1.data[0].app_id)">
<i class="fa-solid fa-edit"></i> Edit
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</main>
<!--#include file="includes/footer.aspx" -->
<script src="bootstrap/5/js/bootstrap.bundle.min.js"></script>
<script>
// Quantity buttons functionality
document.getElementById('btn_decrease').addEventListener('click', function() {
var input = document.getElementById('inp_quantity');
input.value = Math.max(1, parseInt(input.value) - 1);
});
document.getElementById('btn_increase').addEventListener('click', function() {
var input = document.getElementById('inp_quantity');
input.value = parseInt(input.value) + 1;
});
</script>
<script>
// Sort Thickness
dmx.Formatters('string', {
baldEagleToMetric: function(str) {
str = str.replace(/"/g, '').trim();
let result = 0;
if (str.includes('/')) {
const parts = str.split(' ');
if (parts.length > 1) {
const wholeNumber = parseFloat(parts[0]);
const fraction = parts[1].split('/');
const numerator = parseFloat(fraction[0]);
const denominator = parseFloat(fraction[1]);
result = wholeNumber + (numerator / denominator);
} else {
const fraction = str.split('/');
const numerator = parseFloat(fraction[0]);
const denominator = parseFloat(fraction[1]);
result = numerator / denominator;
}
} else {
result = parseFloat(str);
}
return result;
}
});
</script>
</body>
</html>

