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

C# MVC 6向视图发送参数的最佳方式,c#,jquery,C#,Jquery,我想知道向视图发送参数的最佳方式是什么。 这是我第一次使用MVC。 我有一个菜单,我想根据选择的项目菜单更改项目菜单类。 例如,我有一个菜单,上面有主页、产品、关于 <div class="nav-main-item"> <a asp-controller="Home" asp-action="About"> <div class="top-solid-line selected"></div> &l

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

<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>

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

在控制器中,您可以使用
返回视图(模型)
,其中模型是一些变量或对象。在cshtml文件中,您可以声明
@Model int
,例如,当传递一个整数时,可以像正常变量一样访问它,如
Model
。例如:
@if(model==1){yourcodehere}


编辑:您也可以向ViewBag添加参数(google it,有很多示例),但我会使用该模型,因为它是强类型的。

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

我的意见

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


但是您认为仅仅一个参数需要一个模型吗?如果我想将多个模型返回到我的视图中,我可以这样做吗?例如,如果我想向视图发送一个列表,以及您编写的一个变量……据我所知,您只能传递一个模型,但您可以创建一个将您的模型与其他变量合并的类型,并将其作为模型传递。否则您必须使用Viewbag(对于一个简单的参数,这甚至可能比创建复杂类型更好)没问题,很高兴我能为您提供帮助如果您想在同一个视图中使用两个或多个模型,您可以看到以下链接:。这正是我已经描述的;将所有模型和参数组合到单个模型中。如果ViewModel强制您创建更复杂的类型,则它不是最佳解决方案。对于简单的参数,Viewbags更具可读性。请尝试阅读我的消息并思考。我知道如何使用Viewbag、ViewData和TempData vb的字段。对象我推荐的解决方案是ViewModel,它干净且可用。但是使用ViewModel、ViewBag和Tempdata当然是一个简单的问题。