如何解决没有响应部分视图的点击
我有一个父视图和一个局部视图。
局部视图是2个伪按钮-拇指向上和拇指向下。分配了类的段落。
对任一拇指的单击均无响应。也没有涉及应在“就绪”状态下执行的两个功能。
渲染后进入局部视图的jQuery。但是并不完全,因为我看不到我输入的所有控制台日志或警报。
我收到“就绪”功能的警报和控制台日志,但没有其他功能的警报和控制台日志。它不会执行引用两个Model属性的2条console.log行,这些Model属性是boolean并且每个属性的值为false。
我收到此错误:jQuery.Deferred异常:未定义False ReferenceError:未定义False。
但这似乎不是我的自定义代码。
局部视图具有一个模型,其中我具有要使用2个布尔值的属性以及整数。
namespace GbngWebClient.Models
{
public class LikeOrDislikeVM
{
public int BlogId { get; set; }
public int UserId { get; set; }
public int LikeCount { get; set; }
public int DisLikeCount { get; set; }
public bool LikeDisabled { get; set; }
public bool DisLikeDisabled { get; set; }
}
}
不确定这是否是原因。我展示了传入的模型,而false则以小写形式传入,从而满足了JavaScript的要求。
其中具有部分视图的父视图(不显示所有代码):
@{
// Create the variable form the LikeOrDislikeVM model.
var likeOrDislikeVM = new GbngWebClient.Models.LikeOrDislikeVM();
// Set the properties on the variable - most from the parent model.
likeOrDislikeVM.BlogId = @Model.BlogPublishedByBlogId.BlogId;
likeOrDislikeVM.UserId = Convert.ToInt32(Session["UserId"]);
likeOrDislikeVM.LikeCount = @Model.BlogPublishedByBlogId.LikeCount;
likeOrDislikeVM.DisLikeCount = @Model.BlogPublishedByBlogId.DisLikeCount;
likeOrDislikeVM.LikeDisabled = @Model.BlogPublishedByBlogId.LikeDisabled;
likeOrDislikeVM.DisLikeDisabled = @Model.BlogPublishedByBlogId.DisLikeDisabled;
}
<div class="row">
<div class="col-md-1">
@Html.Partial("_BlogLikeAndDislike",likeOrDislikeVM)
</div>
</div>
局部视图:
@model GbngWebClient.Models.LikeOrDislikeVM
<style>
.fa {
cursor: pointer;
user-select: none;
}
.fa:hover {
color: blue;
}
.my-size {
font-size: 20px;
}
</style>
@* Use the values that were passed via a model. *@
<div class="row">
<p><span class="blogLike my-size fa fa-thumbs-up"></span><span class="my-size"> : @Model.LikeCount</span> <span class="my-size"> | </span><span class="blogDisLike my-size fa fa-thumbs-down"></span><span class="my-size"> : @Model.DisLikeCount</span></p>
</div>
@Scripts.Render("~/bundles/jquery")
<script type="text/javascript">
$(document).ready(function () {
alert('Here at document ready');
console.log('Here at document ready');
console.log(@Model.LikeDisabled);
console.log(@Model.DisLikeDisabled);
SetLike(@Model.LikeDisabled);
SetDisLike(@Model.DisLikeDisabled);
$('.blogLike').on('click',function () {
alert('Here at like');
$.ajax({
type: 'POST',url: '@Url.Action("SetBlogLikeOrDisLike","BlogPublished")',data: { likeOrDislikeVM: @Model,likeOrDislikeIndicator: "L"},success: function (response) {
},error: function (xhr,ajaxOptions,thrownError) {
alert("Critical Error: something is wrong in the call to SetBlogLikeOrDisLike for a Like! Status: " + xhr.status + ". Error: " + thrownError.toString() + ". Response Text: " + xhr.responseText);
}
})
});
$('.blogDisLike').on('click',function () {
$.ajax({
type: 'POST',likeOrDislikeIndicator: "D"},thrownError) {
alert("Critical Error: something is wrong in the call to SetBlogLikeOrDisLike for a DisLike! Status: " + xhr.status + ". Error: " + thrownError.toString() + ". Response Text: " + xhr.responseText);
}
})
});
function SetLike(disabledSwitch) {
alert('Here at SetLike');
$(".blogLike").attr('disabled',disabledSwitch);
//if (disabledSwitch == false )
//{
// $(".blogLike").color('green');
//}
}
function SetDisLike(disabledSwitch) {
alert('Here at SetDisLike');
$(".blogDisLike").attr('disabled',disabledSwitch);
//if (disabledSwitch == false) {
// $(".blogDisLike").color('green');
//}
}
});
</script>
用勾号包围模型属性之后。现在执行代码,但布尔值是False而不是false。但是模型屏幕截图显示它们是错误的。 JavaScript需要它们为假。为什么会这样?
解决方法
为了将False转换为false,将True转换为true,我添加了const
.dart_tool
并将它们传递到函数中,而没有刻度。
我现在得到了false和true,并且代码正确执行。
const False = false,True = true;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。