我想知道将参数发送到视图的最佳方法是什么。 这是我第一次使用MVC。 我有一个菜单,我想根据选择的项目菜单更改项目菜单类。 例如,我有一个菜单,包含Home,Products,About。
<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中执行它,非常简单,但事实是当我单击其中一个项目菜单时,所选类继续在主项目菜单中,这是因为我在Home项菜单上初始化所选项。 我需要某种参数传递给视图,并根据该值将所选的类添加到所选的项目菜单中。 我知道应该很简单,任何帮助都会很感激! 感谢。
答案 0 :(得分:1)
在控制器中,您可以使用return View(model)
,其中model是某个变量或对象。例如,在cshtml文件中,您可以声明@Model int
,当传递一个整数并像普通变量model
一样访问它时。例如:@if (model == 1){ your code here }
。
编辑:您还可以向ViewBag添加参数(谷歌,有很多例子),但我会使用该模型,因为它是强类型的。
答案 1 :(得分:0)
ASP.NET MVC发送多个数据以查看
我的意见
ViewBag,ViewData,TempData是基本的解决方法exm :(警报,消息,脚本vb。其他运行客户端代码和单个数据)但是写一个很长且很灵活的长代码行。但是使用ViewModel属性是最好的解决方案,因此您的代码不具备灵活性和完全兼容的面向对象编程架构。