MVC 6向视图发送参数的最佳方式

本文关键字:参数 最佳 方式 视图 MVC | 更新日期: 2023-09-27 18:29:26

我想知道向视图发送参数的最佳方式是什么。这是我第一次使用MVC。我有一个菜单,我想根据选择的项目菜单更改项目菜单类。例如,我有一个包含"主页"、"产品"answers"关于"的菜单。

<div class="nav-main-item">
<a asp-controller="Home" asp-action="About">
            <div class="top-solid-line selected"></div>
            <div class="row nav-item">
                <div class="item-line-1">
                    Home
                </div>
            </div>
            </a>
</div>
<div class="nav-main-item">
<a asp-controller="Home" asp-action="Products">
            <div class="top-solid-line"></div>
            <div class="row nav-item">
                <div class="item-line-1">
                    Products
                </div>
            </div>
            </a>
</div>
<div class="nav-main-item">
 <a asp-controller="Home" asp-action="About">
            <div class="top-solid-line"></div>
            <div class="row nav-item">
                <div class="item-line-1">
                    About
                </div>
            </div>
            </a>
</div>

如果我选择"产品",我要将"选定"的类添加到其中,并在选择之前将选定的类删除到项目菜单中,依此类推。我知道如何在jquery中做到这一点,非常简单,但问题是当我单击其中一个项目菜单时,所选类会在主项目菜单中继续,这是因为我初始化了主项目菜单上的所选项。我需要某种参数传递给视图,并根据该值将所选类添加到所选项目菜单中。我知道应该很简单,任何帮助都会感激的!谢谢

MVC 6向视图发送参数的最佳方式

在控制器中,您可以使用return View(model),其中模型是一些变量或对象。例如,在cshtml文件中,您可以在传递整数时声明@Model int,并将其作为普通变量model进行访问。例如:@if (model == 1){ your code here }

EDIT:你也可以在ViewBag中添加参数(谷歌一下,有很多例子),但我会使用这个模型,因为它是强类型的。

ASP.NET MVC发送多个数据以查看

我的看法

ViewBag、ViewData、TempData是基本的解决方法exm:(警报、消息、脚本vb.其他运行客户端代码和单个数据)但写一行长代码这样又脏又复杂。但使用ViewModel属性是最好的解决方案,这样您的代码就不复杂,也不完全兼容面向对象编程体系结构。

了解ViewModel