如何在.cshtml视图中显示警报信息 - asp.net mvc

3

我有两个操作结果,一个是发送字符串,另一个是加载视图。

public ActionResult getTheString()
{
   string message = //doing some thing ;
  myModel myModel = new myModel();
  myModel.property1 = message ;

    return loadView(myModel);
}

public ActionResult loadView(myModel model)

{
   return view (model);
}

loadView.cshtml

@model project.Models.myModel 
@{
  if(Model.property1 !=" ")
     {what to do to show it as alert }
}

我在这里获取属性,如 model.property1 如果有内容,则显示包含该字符串的警告,然后加载;如果没有内容,则简单地加载。

不允许使用 TempDataViewBagViewData

不允许在视图中使用 Script 标签。它必须在一个单独的js文件中。


2
为什么不在onready事件中使用Javascript,在页面渲染完成后立即显示警报? - ganeshran
2个回答

7
您可以使用一些简单的Razor语法进行检查。
@if(!string.IsNullOrEmpty(Model.Property1)) {
    <script>alert("@Model.Property1");</script>
}

假设有一个警报(@model.property1),我应该如何调用来触发这个警报? - tripathy
代码正在执行(按F10),但警告未在我的视图中显示。 - tripathy
你确定已经将“Property1”编辑为“property1”了吗? - Webbanditten
我刚刚明白了部分视图如果再次调用不会呈现警告。我采取了不同的方法来解决它。 - tripathy

0

你可以使用JavaScript,在页面加载完成后弹出警告。

<script type="text/javascript">

window.load = function() {
    @if(!string.IsNullOrEmpty(Model.Property1)) {
        alert("blah blah");
    }
}    
</script>

我的 JS 文件不同,它无法读取 Model.property1。不能将 JS 脚本放在同一个视图中。 - tripathy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接