MVC 6发送参数以查看的最佳方式

时间:2016-01-08 11:52:00

标签: c# jquery

我想知道将参数发送到视图的最佳方法是什么。 这是我第一次使用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项菜单上初始化所选项。 我需要某种参数传递给视图,并根据该值将所选的类添加到所选的项目菜单中。 我知道应该很简单,任何帮助都会很感激! 感谢。

2 个答案:

答案 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属性是最好的解决方案,因此您的代码不具备灵活性和完全兼容的面向对象编程架构。

Understanding ViewModel