如何通过与 jQuery 集成来检查 TempData 是否为空?
How can I check if TempData is null through integration with jQuery?
如果 TempData
不为空,我想显示一个 toastr
(又名弹出窗口)。但是,我在将 jQuery 和 Razor 语法集成在一起时遇到了问题。这是我目前的 javascript:
$(document).ready(function() {
if (@TempData["SuccessMessage"] != null) {
toastr.options = {
"closeButton": true,
"positionClass": "toast-bottom-right"
}
toastr.success("This is a test!");
}
});
但是,烤面包机没有显示。我已经在进一步检查 TempData 以向用户显示文本。
@if (TempData["SuccessMessage"] != null)
{
<div class="success-message">
@Html.Raw(@TempData["SuccessMessage"].ToString())
</div>
}
我想知道是否有替代方法以某种方式使用上述标记并检查此 div 是否存在,如果存在,显示烤面包机?或者我可以将两张支票合二为一吗?建议?
您可以将 java 包裹在 <text></text>
中以告诉 Razor 它不是 c#,而是在 c# 块中
@if (TempData["SuccessMessage"] != null)
{
<text>
toastr.options = {
"closeButton": true,
"positionClass": "toast-bottom-right"
}
toastr.success("This is a test!");
</text>
}
您还可以将 @(TempData["SuccessMessage"] != null)
转换为 javascript bool,然后使用 javascript if 语句,就像这样...
var hasSuccessMsg = @(TempData["SuccessMessage"] != null) === 'true';
if (hasSuccessMsg) {
//do your work here.
}
你应该这样做
if (@(TempData["SuccessMessage"] == null ? "null" : ('"' + TempData["SuccessMessage"] + '"')) != null) {
以便在 TempDate 为空的情况下生成的标记将是
if (null != null) {
@if (TempData["SuccessMessage"] != null) {
<script>
$(document).ready(function() {
toastr.options = {
"closeButton": true,
"positionClass": "toast-bottom-right"
}
toastr.success("This is a test!");
});
</script>
}
我能够使用以下代码让它工作:
$(document).ready(function() {
var success = @((TempData["SuccessMessage"] != null).ToString().ToLower());
if (success == true) {
toastr.options = {
"closeButton": true,
"positionClass": "toast-bottom-right"
}
toastr.success("Success! You're now registered for Lose A Ton!");
}
});
对于任何好奇的人,我不得不调用 ToLower()
因为 TempData 总是 return True
或 False
,而不是 true
或 false
.原因已解释here。
Jquery 中的 TempData 值如下所示。
$(document).ready(function () {
var tempdataval = '@TempData["Value"]';
if (tempdataval != null && tempdataval != '') {
alert(tempdataval);
}
});
如果 TempData
不为空,我想显示一个 toastr
(又名弹出窗口)。但是,我在将 jQuery 和 Razor 语法集成在一起时遇到了问题。这是我目前的 javascript:
$(document).ready(function() {
if (@TempData["SuccessMessage"] != null) {
toastr.options = {
"closeButton": true,
"positionClass": "toast-bottom-right"
}
toastr.success("This is a test!");
}
});
但是,烤面包机没有显示。我已经在进一步检查 TempData 以向用户显示文本。
@if (TempData["SuccessMessage"] != null)
{
<div class="success-message">
@Html.Raw(@TempData["SuccessMessage"].ToString())
</div>
}
我想知道是否有替代方法以某种方式使用上述标记并检查此 div 是否存在,如果存在,显示烤面包机?或者我可以将两张支票合二为一吗?建议?
您可以将 java 包裹在 <text></text>
中以告诉 Razor 它不是 c#,而是在 c# 块中
@if (TempData["SuccessMessage"] != null)
{
<text>
toastr.options = {
"closeButton": true,
"positionClass": "toast-bottom-right"
}
toastr.success("This is a test!");
</text>
}
您还可以将 @(TempData["SuccessMessage"] != null)
转换为 javascript bool,然后使用 javascript if 语句,就像这样...
var hasSuccessMsg = @(TempData["SuccessMessage"] != null) === 'true';
if (hasSuccessMsg) {
//do your work here.
}
你应该这样做
if (@(TempData["SuccessMessage"] == null ? "null" : ('"' + TempData["SuccessMessage"] + '"')) != null) {
以便在 TempDate 为空的情况下生成的标记将是
if (null != null) {
@if (TempData["SuccessMessage"] != null) {
<script>
$(document).ready(function() {
toastr.options = {
"closeButton": true,
"positionClass": "toast-bottom-right"
}
toastr.success("This is a test!");
});
</script>
}
我能够使用以下代码让它工作:
$(document).ready(function() {
var success = @((TempData["SuccessMessage"] != null).ToString().ToLower());
if (success == true) {
toastr.options = {
"closeButton": true,
"positionClass": "toast-bottom-right"
}
toastr.success("Success! You're now registered for Lose A Ton!");
}
});
对于任何好奇的人,我不得不调用 ToLower()
因为 TempData 总是 return True
或 False
,而不是 true
或 false
.原因已解释here。
Jquery 中的 TempData 值如下所示。
$(document).ready(function () {
var tempdataval = '@TempData["Value"]';
if (tempdataval != null && tempdataval != '') {
alert(tempdataval);
}
});