初始提交
This commit is contained in:
35
Host/Views.Mobile/Shared/Components/Pager/Default.cshtml
Normal file
35
Host/Views.Mobile/Shared/Components/Pager/Default.cshtml
Normal file
@@ -0,0 +1,35 @@
|
||||
@using Hncore.Infrastructure.Extension
|
||||
@model ViewComponents.PagerModel
|
||||
@{
|
||||
Model.PageIndex = Model.PageIndex == 0 ? 1 : Model.PageIndex;
|
||||
var q = this.Context.Request.Remove("PageIndex");
|
||||
if (string.IsNullOrEmpty(q))
|
||||
{
|
||||
q = "?";
|
||||
}
|
||||
else
|
||||
{
|
||||
q += "&";
|
||||
}
|
||||
}
|
||||
|
||||
@if (Model.TotalPage > 1)
|
||||
{
|
||||
<ul class="pagination">
|
||||
@if (Model.PageIndex > 1)
|
||||
{
|
||||
string href = $"{q}PageIndex={Model.PageIndex - 1}";
|
||||
<li class="page-item"><a class="page-link" href="@href">上一页</a></li>
|
||||
}
|
||||
@for (var i = 1; i <= Model.TotalPage; i++)
|
||||
{
|
||||
<li class="page-item"><a class="page-link @(Model.PageIndex==i?"fenyeActive2":"")" href="@(q)PageIndex=@i">@i</a></li>
|
||||
|
||||
}
|
||||
@if (Model.PageIndex < Model.TotalPage)
|
||||
{
|
||||
string href = $"{q}PageIndex={Model.PageIndex + 1}";
|
||||
<li class="page-item"><a class="page-link" href="@href">下一页</a></li>
|
||||
}
|
||||
</ul>
|
||||
}
|
||||
79
Host/Views.Mobile/Shared/Components/PayWait/Default.cshtml
Normal file
79
Host/Views.Mobile/Shared/Components/PayWait/Default.cshtml
Normal file
@@ -0,0 +1,79 @@
|
||||
|
||||
<style>
|
||||
/* 支付等待弹窗开始 */
|
||||
.paywait {
|
||||
position: fixed;
|
||||
z-index: 999;
|
||||
width: 360px;
|
||||
height: 500px;
|
||||
top: 50%;
|
||||
margin-top: -200px;
|
||||
left: 50%;
|
||||
margin-left: -180px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.plTop img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.plFour {
|
||||
background: #fff;
|
||||
margin: 0;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.plFour img {
|
||||
width: 90%;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.plClose {
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
right: 10px;
|
||||
z-index: 999;
|
||||
}
|
||||
.errorTip{
|
||||
margin-top:30px;
|
||||
color:red;
|
||||
}
|
||||
/* 支付等待弹窗结束 */
|
||||
</style>
|
||||
|
||||
<!-- 支付等待 -->
|
||||
<div class="paywait">
|
||||
<img src="~/img/close.png" class="plClose">
|
||||
<div class="plTop">
|
||||
<img src="~/img/paywait.png">
|
||||
</div>
|
||||
<div class="row plFour">
|
||||
<div class="col-lg-12 text-center loadingBox">
|
||||
<img src="~/img/loading.gif" style="width:100px;height:20px">
|
||||
<p>账号检测中请耐心等待</p>
|
||||
</div>
|
||||
<div class="col-lg-12 text-center errorTip">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
function showPayWait() {
|
||||
$(".popmask").show()
|
||||
$(".paywait").show();
|
||||
$(".loadingBox").show();
|
||||
$(".errorTip").text("");
|
||||
}
|
||||
function hidePayWait() {
|
||||
$(".popmask").hide()
|
||||
$(".paywait").hide();
|
||||
}
|
||||
function tipPayWait(info) {
|
||||
showPayWait();
|
||||
$(".loadingBox").hide();
|
||||
$(".errorTip").text(info)
|
||||
}
|
||||
$(".plClose").on("click", function () { hidePayWait() })
|
||||
</script>
|
||||
<!-- 支付等待弹窗结束 -->
|
||||
@@ -0,0 +1,44 @@
|
||||
|
||||
@using Hncore.Pass.BaseInfo.Response
|
||||
@using Hncore.Infrastructure.Serializer;
|
||||
@using Hncore.Pass.BaseInfo.Service
|
||||
@using Hncore.Infrastructure.Common
|
||||
@using Microsoft.Extensions.Configuration
|
||||
@using Hncore.Infrastructure.Extension
|
||||
@inject IConfiguration m_Configuration
|
||||
@inject UserService m_UserService
|
||||
@{
|
||||
var act = this.Context.Request.Get("act");
|
||||
var WxAppId = m_Configuration["WxApps:AppID"];
|
||||
var BaseUrl = m_Configuration["Service_BaseUrl"];
|
||||
var requestUrl =this.Context.Request.GetUrl().UrlEncode();
|
||||
UserLoginModel user = null;
|
||||
Hncore.Pass.BaseInfo.Models.User userEntity = new Hncore.Pass.BaseInfo.Models.User();
|
||||
if (this.Context.Request.Cookies.TryGetValue("userInfo", out string userCookie))
|
||||
{
|
||||
user = userCookie.FromJsonTo<UserLoginModel>();
|
||||
userEntity = await m_UserService.GetById(user.Id);
|
||||
}
|
||||
}
|
||||
|
||||
@if (user == null)
|
||||
{
|
||||
<script>
|
||||
|
||||
function isWeiXin() {
|
||||
var ua = window.navigator.userAgent.toLowerCase();
|
||||
if (ua.indexOf('micromessenger')!=-1) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isWeiXin() || "login" =="@act") {
|
||||
window.location.href = "/User/WebLogin?redirect=@requestUrl";
|
||||
} else {
|
||||
window.location.href = "@(BaseUrl)User/MP_GetUserInfo?appid=@WxAppId&callbakUrl=@requestUrl";
|
||||
}
|
||||
</script>
|
||||
}
|
||||
|
||||
25
Host/Views.Mobile/Shared/Error.cshtml
Normal file
25
Host/Views.Mobile/Shared/Error.cshtml
Normal file
@@ -0,0 +1,25 @@
|
||||
@model ErrorViewModel
|
||||
@{
|
||||
ViewData["Title"] = "Error";
|
||||
}
|
||||
|
||||
<h1 class="text-danger">Error.</h1>
|
||||
<h2 class="text-danger">An error occurred while processing your request.</h2>
|
||||
|
||||
@if (Model.ShowRequestId)
|
||||
{
|
||||
<p>
|
||||
<strong>Request ID:</strong> <code>@Model.RequestId</code>
|
||||
</p>
|
||||
}
|
||||
|
||||
<h3>Development Mode</h3>
|
||||
<p>
|
||||
Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
|
||||
</p>
|
||||
<p>
|
||||
<strong>The Development environment shouldn't be enabled for deployed applications.</strong>
|
||||
It can result in displaying sensitive information from exceptions to end users.
|
||||
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
|
||||
and restarting the app.
|
||||
</p>
|
||||
25
Host/Views.Mobile/Shared/_CookieConsentPartial.cshtml
Normal file
25
Host/Views.Mobile/Shared/_CookieConsentPartial.cshtml
Normal file
@@ -0,0 +1,25 @@
|
||||
@using Microsoft.AspNetCore.Http.Features
|
||||
|
||||
@{
|
||||
var consentFeature = Context.Features.Get<ITrackingConsentFeature>();
|
||||
var showBanner = !consentFeature?.CanTrack ?? false;
|
||||
var cookieString = consentFeature?.CreateConsentCookie();
|
||||
}
|
||||
|
||||
@if (showBanner)
|
||||
{
|
||||
<div id="cookieConsent" class="alert alert-info alert-dismissible fade show" role="alert">
|
||||
Use this space to summarize your privacy and cookie use policy. <a asp-area="" asp-controller="Home" asp-action="Privacy">Learn More</a>.
|
||||
<button type="button" class="accept-policy close" data-dismiss="alert" aria-label="Close" data-cookie-string="@cookieString">
|
||||
<span aria-hidden="true">Accept</span>
|
||||
</button>
|
||||
</div>
|
||||
<script>
|
||||
(function () {
|
||||
var button = document.querySelector("#cookieConsent button[data-cookie-string]");
|
||||
button.addEventListener("click", function (event) {
|
||||
document.cookie = button.dataset.cookieString;
|
||||
}, false);
|
||||
})();
|
||||
</script>
|
||||
}
|
||||
226
Host/Views.Mobile/Shared/_Layout.cshtml
Normal file
226
Host/Views.Mobile/Shared/_Layout.cshtml
Normal file
@@ -0,0 +1,226 @@
|
||||
@using Hncore.Pass.BaseInfo.Response
|
||||
@using Hncore.Infrastructure.Serializer;
|
||||
@using Hncore.Pass.Vpn.Service
|
||||
@inject ProductService m_ProductService
|
||||
@{
|
||||
UserLoginModel user = null;
|
||||
if (this.Context.Request.Cookies.TryGetValue("userInfo", out string userCookie))
|
||||
{
|
||||
user = userCookie.FromJsonTo<UserLoginModel>();
|
||||
}
|
||||
}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="yes" name="apple-mobile-web-app-capable" />
|
||||
<meta content="yes" name="apple-touch-fullscreen" />
|
||||
<meta content="telephone=no,email=no" name="format-detection" />
|
||||
<meta content="maximum-dpr=2" name="flexible" />
|
||||
<title>聚IP JUIP.COM-产品购买</title>
|
||||
<link rel="stylesheet" type="text/css" href="~/m/css/base.css" />
|
||||
<link rel="stylesheet" type="text/css" href="~/m/css/swiper.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="~/m/css/bootstrap.css" />
|
||||
<link rel="Shortcut Icon" href="/img/favicon.ico" type="image/x-icon" />
|
||||
<script src="~/m/js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script>
|
||||
<script src="~/js/vue.js"></script>
|
||||
<script src="~/m/js/swiper.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="~/m/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script type="text/javascript">
|
||||
$.ajaxSetup({
|
||||
complete: function (XMLHttpRequest, textStatus) {
|
||||
console.log(textStatus);
|
||||
//var sessionstatus = XMLHttpRequest.getResponseHeader("sessionstatus");
|
||||
if (textStatus == "parsererror") {
|
||||
//如果超时就处理 ,指定要跳转的页面(比如登陆页)
|
||||
window.location.href="/user/weblogin"
|
||||
}
|
||||
}
|
||||
});
|
||||
$(function () {
|
||||
$(".btnNav").click(function () {
|
||||
$(".mask").fadeIn();
|
||||
console.log(1)
|
||||
});
|
||||
$(".btnClose").click(function () {
|
||||
$(".mask").fadeOut();
|
||||
console.log(2)
|
||||
});
|
||||
|
||||
$(".on_q").click(function () {
|
||||
$(".side_q").toggle();
|
||||
});
|
||||
|
||||
//$(".item_on_q").mouseover(function () {
|
||||
// $(".side_q").stop().show();
|
||||
//});
|
||||
//$(".item_on_q").mouseleave(function () {
|
||||
// $(".side_q").stop().hide();
|
||||
//});
|
||||
|
||||
//$(".on_wx").click(function () {
|
||||
// $(".side_kefu").toggle();
|
||||
//});
|
||||
|
||||
$(".item_on_wx").mouseover(function () {
|
||||
$(".side_kefu").stop().fadeIn();
|
||||
});
|
||||
$(".item_on_wx").mouseleave(function () {
|
||||
$(".side_kefu").stop().fadeOut();
|
||||
});
|
||||
|
||||
$(".on_gzh").mouseover(function () {
|
||||
$(".side_gzh").stop().fadeIn();
|
||||
});
|
||||
$(".on_gzh").mouseleave(function () {
|
||||
$(".side_gzh").stop().fadeOut();
|
||||
});
|
||||
|
||||
$(".on_tel").mouseover(function () {
|
||||
$(".side_tel").stop().fadeIn();
|
||||
});
|
||||
$(".on_tel").mouseleave(function () {
|
||||
$(".side_tel").stop().fadeOut();
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
function isWeiXin() {
|
||||
var ua = window.navigator.userAgent.toLowerCase();
|
||||
if (ua.indexOf('micromessenger') != -1) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="popmask"></div>
|
||||
<div class="sideBar">
|
||||
|
||||
<div class="item item_on_q">
|
||||
|
||||
<img src="~/img/qq.png" class="on_q"><div class="kefu_tit">QQ</div>
|
||||
|
||||
<div class="side_q">
|
||||
<h4 style="border-bottom:1px solid #ccc;text-align:center;width:100%;padding:15px 0;">实时响应 在线时间8:00-24:00</h4>
|
||||
<div class="item">
|
||||
<a href="https://admin.qidian.qq.com/template/blue/mp/menu/qr-code-jump.html?linkType=0&env=ol&kfuin=2852138148&fid=299&key=f377ec024ca45115a03a7632c7bda230&cate=1&source=&isLBS=&isCustomEntry=&type=16&ftype=1&_type=wpa&qidian=true" target="_blank">
|
||||
<div class="ileft">
|
||||
<img src="~/img/q.png">
|
||||
</div>
|
||||
<div class="iright">
|
||||
<span>人工客服:售前</span>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a href="https://admin.qidian.qq.com/template/blue/mp/menu/qr-code-jump.html?linkType=0&env=ol&kfuin=2852138148&fid=299&key=f377ec024ca45115a03a7632c7bda230&cate=1&source=&isLBS=&isCustomEntry=&type=16&ftype=1&_type=wpa&qidian=true" target="_blank">
|
||||
<div class="ileft">
|
||||
<img src="~/img/q.png">
|
||||
</div>
|
||||
<div class="iright">
|
||||
<span>人工客服:售后</span>
|
||||
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item item_on_wx">
|
||||
<img src="~/img/weixin.png" class="on_wx"><div class="kefu_tit">微信</div>
|
||||
<div class="side_kefu">
|
||||
<!-- Nav tabs -->
|
||||
<ul class="nav nav-tabs" role="tablist" style="padding-top: 10px;padding-left:10px">
|
||||
<li role="presentation" class="active"><a href="#xx" aria-controls="xx" role="tab" data-toggle="tab" style="border-color:#ccc">售前</a></li>
|
||||
<li role="presentation"><a href="#qq" aria-controls="qq" role="tab" data-toggle="tab" style="border-color:#ccc">售后</a></li>
|
||||
@*<li role="presentation"><a href="#ss" aria-controls="ss" role="tab" data-toggle="tab" style="border-color:#ccc">珊珊</a></li>
|
||||
<li role="presentation"><a href="#tt" aria-controls="tt" role="tab" data-toggle="tab" style="border-color:#ccc">兔兔</a></li>*@
|
||||
</ul>
|
||||
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content" style="margin-top: 60px;">
|
||||
<div role="tabpanel" class="tab-pane active" id="xx">
|
||||
<img src="~/img/kf_sq.jpg">
|
||||
<p style="color:#f90">实时响应 在线时间 8:00-24:00</p>
|
||||
</div>
|
||||
<div role="tabpanel" class="tab-pane" id="qq">
|
||||
<img src="~/img/kf_sh.jpg">
|
||||
<p style="color:#f90">实时响应 在线时间 8:00-24:00</p>
|
||||
</div>
|
||||
@*<div role="tabpanel" class="tab-pane" id="ss">
|
||||
<img src="~/img/w3.png">
|
||||
<p style="color:#f90">实时响应 在线时间 8:00-24:00</p>
|
||||
</div>
|
||||
<div role="tabpanel" class="tab-pane" id="tt">
|
||||
<img src="~/img/w4.png">
|
||||
<p style="color:#f90">实时响应 在线时间 8:00-24:00</p>
|
||||
</div>*@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="~/img/gzh.png" class="on_gzh"><div class="kefu_tit">公众号</div>
|
||||
<div class="side_gzh">
|
||||
<p><img src="~/img/ewm.png"></p>
|
||||
<p style="color:#f90">实时响应 在线时间 8:00-24:00</p>
|
||||
<p style="color:#f90">关注公众号可获取免费的到期提醒服务</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="~/img/tel.png" class="on_tel"><div class="kefu_tit">电话</div>
|
||||
<div class="side_tel">
|
||||
<p><b>400 800 9925</b></p>
|
||||
<p>实时接通</p>
|
||||
<p>电话值班时间 8:00-24:00</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a href="#top"><img src="~/img/top.png"></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 弹窗导航 -->
|
||||
<div class="mask">
|
||||
<ul class="layNav">
|
||||
<li><a href="/">首页</a></li>
|
||||
<li><a asp-action="index" asp-controller="product">产品购买</a> </li>
|
||||
<li><a asp-action="index" asp-controller="LineList" asp-route-Catalog="1">线路表</a> </li>
|
||||
<li><a asp-action="soft" asp-controller="product">软件下载</a> </li>
|
||||
<li><a asp-action="index" asp-controller="article">资讯&帮助</a></li>
|
||||
<li><a asp-action="taobao" asp-controller="article">淘宝充值活动</a></li>
|
||||
@if (user != null)
|
||||
{
|
||||
<li><a asp-action="index" asp-controller="user">个人中心</a></li>
|
||||
<li><a asp-action="LoginOut" asp-controller="user">退出</a></li>
|
||||
}
|
||||
else
|
||||
{
|
||||
<li><a asp-action="WebLogin" asp-controller="user">登录</a></li>
|
||||
}
|
||||
|
||||
<li><img src="~/m/img/close.png" class="btnClose"></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="mynav">
|
||||
<div class="item">
|
||||
<img src="~/m/img/back.png" onclick="history.go(-1)">
|
||||
</div>
|
||||
<div class="item mlogo">
|
||||
<img src="~/m/img/logo.png">
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="~/m/img/nav.png" class="btnNav">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@RenderBody()
|
||||
@RenderSection("Scripts", required: false)
|
||||
<!-- WPA start -->
|
||||
<script id="qd28521381485d6faa97edf5ad07d7e159f6cb902af0" src="https://wp.qiye.qq.com/qidian/2852138148/5d6faa97edf5ad07d7e159f6cb902af0" charset="utf-8" async defer></script>
|
||||
<!-- WPA end -->
|
||||
</body>
|
||||
</html>
|
||||
84
Host/Views.Mobile/Shared/_UserLayout.cshtml
Normal file
84
Host/Views.Mobile/Shared/_UserLayout.cshtml
Normal file
@@ -0,0 +1,84 @@
|
||||
@using Hncore.Pass.BaseInfo.Response
|
||||
@using Hncore.Infrastructure.Serializer;
|
||||
@using Hncore.Pass.Vpn.Service
|
||||
@inject ProductService m_ProductService
|
||||
@{
|
||||
UserLoginModel user = null;
|
||||
if (this.Context.Request.Cookies.TryGetValue("userInfo", out string userCookie))
|
||||
{
|
||||
user = userCookie.FromJsonTo<UserLoginModel>();
|
||||
}
|
||||
}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="yes" name="apple-mobile-web-app-capable" />
|
||||
<meta content="yes" name="apple-touch-fullscreen" />
|
||||
<meta content="telephone=no,email=no" name="format-detection" />
|
||||
<meta content="maximum-dpr=2" name="flexible" />
|
||||
|
||||
<title>聚IP JUIP.COM-产品购买</title>
|
||||
<link rel="stylesheet" type="text/css" href="~/m/css/base.css" />
|
||||
<link rel="stylesheet" type="text/css" href="~/m/css/swiper.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="~/m/css/bootstrap.css" />
|
||||
<link href="~/m/css/LCalendar.css" rel="stylesheet" />
|
||||
<link rel="Shortcut Icon" href="/img/favicon.ico" type="image/x-icon" />
|
||||
<script src="~/m/js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script>
|
||||
<script src="~/js/vue.js"></script>
|
||||
<script src="~/m/js/swiper.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="~/m/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$(".btnNav").click(function () {
|
||||
$(".mask").fadeIn();
|
||||
console.log(1)
|
||||
});
|
||||
$(".btnClose").click(function () {
|
||||
$(".mask").fadeOut();
|
||||
console.log(2)
|
||||
})
|
||||
})
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<vc:redirecct-login></vc:redirecct-login>
|
||||
<!-- 弹窗导航 -->
|
||||
<div class="mask">
|
||||
<ul class="layNav">
|
||||
<li><a href="/">首页</a></li>
|
||||
<li><a asp-action="index" asp-controller="product">产品购买</a> </li>
|
||||
<li><a asp-action="index" asp-controller="LineList">线路表</a> </li>
|
||||
<li><a asp-action="soft" asp-controller="product">软件下载</a> </li>
|
||||
<li><a asp-action="index" asp-controller="article">资讯&帮助</a></li>
|
||||
<li>
|
||||
@if (user != null)
|
||||
{
|
||||
<a asp-action="index" asp-controller="user">个人中心</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a asp-action="WebLogin" asp-controller="user">登录</a>
|
||||
}
|
||||
</li>
|
||||
<li><img src="~/m/img/close.png" class="btnClose"></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="mynav">
|
||||
<div class="item">
|
||||
<img src="~/m/img/back.png" onclick="history.go(-1)">
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="~/m/img/logo.png">
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="~/m/img/nav.png" class="btnNav">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@RenderBody()
|
||||
@RenderSection("Scripts", required: false)
|
||||
</body>
|
||||
</html>
|
||||
18
Host/Views.Mobile/Shared/_ValidationScriptsPartial.cshtml
Normal file
18
Host/Views.Mobile/Shared/_ValidationScriptsPartial.cshtml
Normal file
@@ -0,0 +1,18 @@
|
||||
<environment include="Development">
|
||||
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
|
||||
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
|
||||
</environment>
|
||||
<environment exclude="Development">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.min.js"
|
||||
asp-fallback-src="~/lib/jquery-validation/dist/jquery.validate.min.js"
|
||||
asp-fallback-test="window.jQuery && window.jQuery.validator"
|
||||
crossorigin="anonymous"
|
||||
integrity="sha256-F6h55Qw6sweK+t7SiOJX+2bpSAa3b/fnlrVCJvmEj1A=">
|
||||
</script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validation-unobtrusive/3.2.11/jquery.validate.unobtrusive.min.js"
|
||||
asp-fallback-src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"
|
||||
asp-fallback-test="window.jQuery && window.jQuery.validator && window.jQuery.validator.unobtrusive"
|
||||
crossorigin="anonymous"
|
||||
integrity="sha256-9GycpJnliUjJDVDqP0UEu/bsm9U+3dnQUH8+3W10vkY=">
|
||||
</script>
|
||||
</environment>
|
||||
Reference in New Issue
Block a user