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中做到这一点,非常简单,但问题是当我单击其中一个项目菜单时,所选类会在主项目菜单中继续,这是因为我初始化了主项目菜单上的所选项。我需要某种参数传递给视图,并根据该值将所选类添加到所选项目菜单中。我知道应该很简单,任何帮助都会感激的!谢谢
在控制器中,您可以使用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