![](/img/trans.png)
[英]How can I keep TempData when browser refresh but null if user leave the page
[英]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!");
}
});
但是,toastr 没有显示。 我已经在进一步检查 TempData 以向用户显示文本。
@if (TempData["SuccessMessage"] != null)
{
<div class="success-message">
@Html.Raw(@TempData["SuccessMessage"].ToString())
</div>
}
我想知道是否有一种替代方法是以某种方式使用上述标记并检查此 div 是否存在,如果存在,则显示 toastr? 或者我可以将两张支票合二为一? 建议?
我能够使用以下代码使其工作:
$(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 总是会返回True
或False
,而不是true
或false
。 此处解释了原因。
你应该做类似的事情
if (@(TempData["SuccessMessage"] == null ? "null" : ('"' + TempData["SuccessMessage"] + '"')) != null) {
以便在 TempDate 为 null 的情况下生成的标记将是
if (null != null) {
Jquery 中的 TempData 值如下所示。
$(document).ready(function () {
var tempdataval = '@TempData["Value"]';
if (tempdataval != null && tempdataval != '') {
alert(tempdataval);
}
});
您可以将 java 包裹在<text></text>
以告诉 Razor 它不是 c#,而是在 ac# 块内
@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) {
<script>
$(document).ready(function() {
toastr.options = {
"closeButton": true,
"positionClass": "toast-bottom-right"
}
toastr.success("This is a test!");
});
</script>
}
if(@ Html.Raw(Json.Encode(TempData [“Exists”]))!= null){
toastr.error('oops!an error occured try again.');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.