【发布时间】:2015-04-15 11:31:06
【问题描述】:
我是 MVC 的新手,我想将来自 Controller tempdata 的警报消息显示为引导箱警报消息
怎么做?请有人帮我举个例子
【问题讨论】:
标签: html asp.net-mvc-4 bootbox
我是 MVC 的新手,我想将来自 Controller tempdata 的警报消息显示为引导箱警报消息
怎么做?请有人帮我举个例子
【问题讨论】:
标签: html asp.net-mvc-4 bootbox
假设你有TempData["Message"]
在您看来,将其分配给一些hiddenField,如下所示
@{
var message=TempData["Message"] as string;
}
<input type="hidden" value="@message" id="hdnMessage"/>
现在编写一个document.ready 函数并检查隐藏字段是否具有值,如果是,则显示您的消息如下:
$(document).ready(function(){
if($("#hdnMessage").val()!="")
{
var msg=$("#hdnMessage").val();
bootbox.alert(msg);
$("#hdnMessage").val('');//empty the value so that it won't show everytime
}
});
【讨论】:
假设视图中使用了<script>标签,您可以直接将TempData中的值注入JavaScript。这样的事情会起作用:
@if(TempData.ContainsKey("Message"))
{
<script>
$(function(){
bootbox.alert('@TempData["Message"]');
});
</script>
}
这不会在 .js 文件中工作,因为 Razor 引擎不会解析这些文件。
你可以把它放在一个局部视图中,或者将它包含在 _Layout 的某个地方,或者只是在你当前工作的视图中使用它。唯一重要的一点是它需要在 jQuery 之后呈现,引导程序.js 和 bootbox.js。
【讨论】: