我的应用程序是MVC5 c#,试图执行以下操作:
@{
var s = Model.PhysicalExam;
if (s == null)
{
<script>
alert("1");
$("#newSale1").hide();
</script>
}
else
{
<script>
alert("2");
$("#newSale1").show();
</script>
}
}
警报有效,但不会隐藏或显示按钮。非常感谢您的建议。
答案 0 :(得分:1)
我猜想在执行该脚本代码时,newSale1
可能没有加载到DOM中。您应该将这些块放在文档就绪事件中。
$( document ).ready(function() {
console.log( "ready!" );
});
答案 1 :(得分:1)
我可能会在页面底部找到类似的内容
<script type='text/javascript">
var isExamNull = @((Model.PhysicalExam == null).ToString());
$(document).ready( function(){
if (isExamNull)
$("#newSale1").hide();
else
$("#newSale1").show();
};)
</script>
将脚本放在页面底部让html首先渲染,$(文档).ready确保文档准备就绪。使用@()将服务器端值写入脚本,另一种技术是使用隐藏并让脚本检查隐藏的值。