【发布时间】:2011-10-31 02:52:05
【问题描述】:
我想要一个 div 来显示 ViewModel bool 是否设置为 true。
我试过了:
$(function () {
$("#myDiv").toggle(@Model.IsRequired);
}
但@Model.IsRequired 显示为“真”或“假”,而不是“真”或“假”。
有什么想法吗?
【问题讨论】:
标签: jquery asp.net-mvc asp.net-mvc-3 razor
我想要一个 div 来显示 ViewModel bool 是否设置为 true。
我试过了:
$(function () {
$("#myDiv").toggle(@Model.IsRequired);
}
但@Model.IsRequired 显示为“真”或“假”,而不是“真”或“假”。
有什么想法吗?
【问题讨论】:
标签: jquery asp.net-mvc asp.net-mvc-3 razor
你可以写@Model.IsRequired.ToString().ToLower()。
我认为没有更好的解决方案(除了你自己的扩展方法)
【讨论】:
仅小写字符串的一些替代方法:
在实际字符串中使用三元运算符
$(function () {
$("#myDiv").toggle(@(Model.IsRequired?"true":"false"));
}
或者你可以根据值输出不同的调用
$(function () {
@if (Model.Required)
{
$("#myDiv").toggle(true);
}
else
{
$("#myDiv").toggle(false);
}
}
或将它们组合起来
$(function () {
@(Model.IsRequired
?"$('#myDiv').toggle(true);"
:"$('#myDiv').toggle(false);")
}
【讨论】:
这是使用 jQuery / javascript 的另一种方式:
标记:
<... onclick='HandleClick()' ... />
脚本:
function HandleClick() {
var isRequired = '@Model.IsRequired';
if (isRequired === 'True') {
$('#myDiv').toggle(true);
} else {
$('#myDiv').toggle(false);
}
}
【讨论】: