asp.net-mvc - 将参数传递给 ASP.NET MVC 中的 View ?

标签 asp.net-mvc

我一直在尝试使用 ASP.NET MVC 并关注 this创建基本任务列表应用程序的教程。我已经让它运行良好,一切正常,尽管视频是在 VB 中,我在将它“转换”为 C# 时遇到了一些麻烦,但由于代码示例而糊里糊涂。

现在,为了加深我的知识,我决定对系统做一个小的修改。我想更改索引页面,以便在所有任务都已完成时以红色显示“我的任务”,在有任何未完成任务时以绿色显示“我的任务”。

我在 HomeController.cs 中添加了以下函数:

    public bool Uncomplete()
    {
        bool AnyLeft = false;
        var tasks = from t in db.Tasks orderby t.EntryDate descending select t;
        foreach (Task match in tasks)
        {
            if (match.IsCompleted == false)
            {
                AnyLeft = true;
            }
        }

        return AnyLeft;
    }

然后我将 Index() ActionResult 修改为如下所示:

    public ActionResult Index()
    {
        bool AnyLeft = Uncomplete();
        var tasks = from t in db.Tasks orderby t.EntryDate descending select t;
        return View(tasks.ToList());
    }

我最终打算在 Index.aspx 中使用以下代码:

<% if (AnyLeft == false)
   { %>
    <h1 class="green">My Tasks</h1>
<% }
   else
   { %>
    <h1 class="red">My Tasks</h1>
<% } %>

但是,我不知道如何让 Index.aspx“意识到”AnyLeft 的值为 true 或 false。我试过了

return View(tasks.ToList(), AnyLeft);

但这会引发我无法完全破译的错误。我有一种感觉,我正在以“错误的方式”处理事情,但我想不通。

最佳答案

在 Controller 中使用它:

public ActionResult Index()
{
    ViewData["AnyLeft"] = Uncomplete();
    var tasks = from t in db.Tasks orderby t.EntryDate descending select t;
    return View(tasks.ToList());
}

在 View 中:

<% if (!(bool)ViewData["AnyLeft"])
   { %>
    <h1 class="green">My Tasks</h1>
<% }
   else
   { %>
    <h1 class="red">My Tasks</h1>
<% } %>

关于asp.net-mvc - 将参数传递给 ASP.NET MVC 中的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/466752/

相关文章:

asp.net-mvc - 如何在 MVC 4 中使用我自己的 User 表而不是默认的 UserProfile?

asp.net-mvc - 在没有回发控制的情况下保留某些值的最安全方法是什么

c# - 我应该如何从 .NET MVC 应用程序中的所有函数返回通用响应和响应代码?

javascript - MVC 6 更改 View block 呈现的位置

asp.net-mvc - 主流搜索引擎无法抓取 MVC 站点?

asp.net-mvc - 如何从 UrlHelper 获取字符串操作和 Controller 名称

asp.net-mvc - ASP MVC ChildActionOnly 应该有路由

asp.net-mvc - RavenDB 与 MVC 寻找错误路径和 404

c# - 将接口(interface)传递给 ASP.NET MVC Controller Action 方法

c# - 当部分 View 与父 View 共享模型时 HtmlHelper 的奇怪行为