首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用所在页面的控制器而不是在ActionLink中设置的控制器进行NavBar

在ASP.NET MVC中,可以使用ActionLink方法来生成导航栏(NavBar)中的链接。通常情况下,我们可以在ActionLink方法中指定控制器和操作方法来生成链接。但是,有时候我们希望使用当前页面的控制器而不是在ActionLink中设置的控制器来生成导航栏链接。

为了实现这个需求,我们可以使用以下步骤:

  1. 首先,在视图页面中,找到生成导航栏链接的代码,通常是使用ActionLink方法生成的。
  2. 在ActionLink方法中,将控制器参数设置为null,即不指定控制器。例如:@Html.ActionLink("Home", "Index", null, null)
  3. 然后,在控制器中,可以通过ViewContext.RouteData.Values["controller"]来获取当前页面的控制器名称。
  4. 最后,将获取到的控制器名称作为参数传递给ActionLink方法。例如:@Html.ActionLink("Home", "Index", ViewContext.RouteData.Values["controller"].ToString(), null)

这样,就可以使用所在页面的控制器而不是在ActionLink中设置的控制器来生成导航栏链接。

这种方法的优势是可以动态地生成导航栏链接,无需在每个页面中手动指定控制器。同时,它也提高了代码的可维护性和灵活性。

这种技术在各种Web应用程序中都可以使用,特别是在需要动态生成导航栏的情况下非常有用。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发(移动推送、移动分析、移动测试等):https://cloud.tencent.com/product/mobile
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙(Tencent XR):https://cloud.tencent.com/product/xr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET MVC 5 - 视图

本节,你要去修改HelloWorldController类,使用视图模板文件,干净利索地封装过程:客户端浏览器生成HTML。...控制器方法(也被称为action method(操作方法) ),如上面的Index方法,一般返回一个ActionResult(或从ActionResult所继承类型),不是原始类型,如字符串。...控制器Index方法并没有做太多工作,它只是执行了return View(),这个方法指定使用一个视图模板文件来Render返回给浏览器HTML。... 如果要指定HTMLtitle元素,上面的代码设置了ViewBag对象 (Index.cshtml视图模板Title属性。...使用布局模板页面,可以很容易进行一个修改并应用到所有页面。 ? 我们这一点(本例"Hello from our View Template!"字符串) "数据" 只是一段硬编码。

3.2K80

探寻ASP.NET MVC鲜为人知奥秘(3):寻找多语言最佳实践方式

如果你网站需要被世界各地的人访问,访问者会使用各种不同语言和文字书写习惯,那么创建一个支持多语言网站就是十分必要了,这一篇文章就讲述怎么快速合理创建网站对多语言支持。...然后Models添加一个示例模型类: public class Employee { [Display(Name = "Name", ResourceType = typeof...注意:这里资源因为需要在项目外部使用,所以需要将访问修饰符修改为Public 接下来就是如何来确定访问者要使用语言了,每个请求,都会有一个Accept-language头,其中定义了可接受语言类型...,但是我们仅可以从它来判断浏览器设置语言,而这个语言类型可能并不是访问者实际需要语言类型,所以,我们将设计一个可供选择语言列表,然后服务器端使用发回Cookie方式保存浏览器端实际需要语言...,使用PS命令,安装Bootstrap对RightToLeft文字习惯支持: Install-Package Twitter.Bootstrap.RTL 然后App_StartBundleConfig.cs

85280

ASP.NET MVC学习笔记03视图

用Razor编写一个视图模板文件时,将 所需字符和键盘敲击数量降到了最低,并实现了快速,流畅编码工作流程。 ---- 控制器返回指定视图 当前控制器Index方法返回了一个硬编码字符串。...控制器方法 (也被称为action method(操作方法) ),如上面的Index方法,一般返回一个ActionResult(或从ActionResult所继承类型),不是原始类型,如字符串。...编辑视图 对HelloView也就是Index.cshtml文件进行修改,然后预览查看效果 ? 上述操作:Hello控制器( http://localhost:xxxx/Hello)。...控制器Index方法并没有做太多工 作,它只是执行了return View(),这个方法指定使用一个视图模板文件来Render返回给浏览器HTML。...使用布局模板页面,可以很容易进行一个 修改并应用到所有页面 对视图介绍就是这样,下面开始接触MVCM,但是介绍模型之前,不得不说一下数据是如何从控制器传给视图,下一篇就先解决清楚这个问题。

2K30

ASP.NET MVC5高级编程——(4)表单和HTML辅助方法

字典中有一个“class”键值不是问题,问题在于对象带有一个名为class属性。...String类型参数来决定渲染文本和for特性值 6.Html.DropDownList和Html.ListBox —— 单选和多选 DropDownList允许进行单项选择,ListBox支持多项选择...(1)如果想在一个表单设置专辑价格,可使用面的控制器代码 1 public ActionResult Edit(int id) 2 { 3 ViewBag.Price = 10.0; 4...当链接操作所在控制器与用来渲染当前视图控制器一样时,只需要指定操作名称: 1 @Html.ActionLink("Link Text", "AnotherAction") 这里假设采用默认路由,那么执行这段代码将生成如下所示...例如要链接到ShoppingCartController控制器Index操作,可以使用面的代码: 1 @Html.ActionLink("Link Text", "Index", "ShoppingCart

2.9K30

ASP.NET MVC使用Bootstrap系列(3)——使用Bootstrap 组件

ASP.NET MVC默认_Layouts.cshtml布局已经帮我们实现了上述功能,打开它对其稍作修改,如下代码片段所示: <div class="<em>navbar</em> <em>navbar</em>-inverse...和LoginPartial)来生成余下<em>的</em>导航条(<em>使用</em>.<em>navbar</em>-collapse类<em>在</em>低分辨率设备<em>中</em>折叠),其中局部视图逻辑是基于当前访问<em>的</em>用户是否登陆来控制是否显示。...<em>页</em>头 当用户访问网页时,Bootstrap<em>页</em>头可以为用户提供清晰<em>的</em>指示。Bootstrap<em>页</em>头本质上是一个元素被封装在class为page-header<em>的</em>元素<em>中</em>。...当然你也可以利用元素来提供额外<em>的</em>关于页<em>面的</em>信息,同时Bootstrap为<em>页</em>头添加了水平分隔线用于分隔页面,如下HTML即为我们构建了<em>页</em>头: 员工搜索结果: 搜索条件: "@ViewBag.SearchQuery" 路径导航 路径导航(面包屑)Web 设计中被用来表示用户带有层次导航结构当前页面的位置

6.5K100

ASP.NET MVC编程——视图

基本规则 1)变量 @后直接变量即可 2)代码块 为使用表达式或多行代码,@后跟大括号将多行代码包括大括号 3)“+” 对于加号连接两个字符串变量或属性,使用小括号将他们括起来 4)插入HTML或文字...每一行前面加上“@:” 5)使用注释 使用@*和*@将要注释部分包起来 6)用@@页面上显示@ @using 一个View引入此所需程序集命名空间。...视图名称可以是控制器操作方法名称也可以不是,若不是控制器操作方法名称,控制器返回视图时要指定视图名。...js文件,那么可以使用_LayoutOther.cshtml视图中定义section 节来加载只有此页面使用js文件,而把公共js文件放在_Layout.cshtml视图文件 例如Index.cshtml...2)使用html帮助方法 使用Html.Partial直接调用部分视图不是通过控制器操作方法。

3K100

HtmlHelper(辅助产生HTML之用)

弱类型: 1.使用HTML辅助方法输出超链接 (1)View输出ASP.NET MVC超链接通常会用Html.ActionLink辅助方法,该方法用于产生文字链接,其文字部分会自动进行HTML编码...(HtmlEncode) 语法范例 说明 @Html.ActionLink("链接文字","ActionName") 这是最基本用法,要跳转控制器为本视图所在控制器。...@Html.ActionLink("链接文字","ActionName","ControllerName") 指定链接文字、动作、控制器 @Html.ActionLink("链接文字","ActionName...",new{id=123,page=5}) 当需要设定额外RouteValue时,可以第三个参数传入object类型数据 @Html.ActionLink("链接文字","ActionName",...请注意:由于HTML标签里套用CSS样式类型时会用到class属性名称,而在C#里class属于关键字,所以必须使用@class方式,才能确保C#正确编译。

1.1K30

【asp.net core 系列】5 布局和静态资源处理

前言 之前4篇内容里,我们较为详细介绍了路由以及控制器还有视图之间关系。也就是说,系统如何从用户HTTP请求解析到控制器里,然后控制器里处理数据,并返回给视图,视图中显示出来。...这一篇我将为大家介绍基础最后一部分,布局和静态资源引入。 ? 1. 布局 控制器和视图那一篇,我们了解到_ViewStart 里设置了一个Layout属性值,这个值正是用来设置布局。...所谓布局,就是视图公用代码。实际开发,布局通常存放我们为整个系统定义页面框架,视图里写每个视图页面。...意思就是布局,渲染名称为name分部内容。...简单讲,如果在布局设置了@RenderBody,那么使用了这个布局视图里所有没被分部块包裹代码都会渲染到布局声明了@RenderBody地方。

1.3K30

ASP.NET MVC框架(第四部分): 处理表单编辑和提交场景

注意上面,我们在网页上使用了标准 HTML 元素,不是form runat=server。...这是个方便对象,呈示了一套HTML辅助界面方法,用于自动化HTML界面的生成。例如,本帖子前面,我们使用了 Html.ActionLink辅助方法来生成 元素: ?...第一个预览版,只有"ActionLink"方法是内置于System.Web.Extensions(目前实现核心ASP.NET MVC框架程序集)。...例如,我们可以将我们URL做重新映射,换掉/Products/Edit/1,而是使用象/Products/1/Edit这样更具RESTfulURL的话,上面的控制器和视图代码不用做改动,依旧会工作...但注意,填充不是一个空对象,我们使用了一个模式,先从数据库获取老值,然后对它应用用户做改动,然后更新到数据库

5.1K70

Asp.Net MVC4入门指南(6):验证编辑方法和编辑视图

本节,您将开始修改为电影控制器所新加操作方法和视图。然后,您将添加一个自定义搜索浏览器地址栏里追加/Movies, 浏览到Movies页面。并进入编辑(Edit)页面。...数据保存之后,代码会把用户重定向到MoviesController类Index操作方法,页面将显示电影列表,同时包括刚刚所做更新。 如果form发送不是有效值,它们将重新显示form。...作为临时修复,您可以向项目根 web.config 文件添加全球化设置。下面的代码演示设置为美国英语全球化文化设置。  ...(使用 Distinct修饰符,不会添加重复流派 -- 例如,我们示例添加了两次喜剧)。该代码然后ViewBag对象存储了流派数据列表。 下面的代码演示如何检查movieGenre参数。...以上创建搜索方法和视图示例是为了帮助大家更好掌握MVC知识,进行MVC开发时,开发工具也可以大大帮助提高工具效率。

4.2K100

ASP.NET MVC5高级编程 ——(5)路由

使用控制器一个特性代替每个方法上所有路由特性。控制器类上定义路由时,可以使用一个叫做action特殊路由参数,它可以作为任意操作名称占位符。...为此,使用~/作为路由模版开头,路由前缀就会被忽略。 在下面的代码,HomeControllerIndex方法支持全部三种URL(/、/home和/home/index): ?...: 并不是MVC应用程序所有请求都针对控制器和动作,MVC路由提供对内容进行服务。...生成输出URL两种方法:视图中生成(多数情况下)、动作方法中生成。 视图中生成输出URL: 视图页面通过调用ActionLink辅助器方法。 Eg:@Html....ActionLink(“链接文本”,”目标动作方法名”) 至于和哪个控制器进行绑定,取决于视图是通过哪个控制器请求进行渲染 可以用一个匿名类型为片段变量传递值 Eg:@Html.

1.9K40

ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

作为一个临时解决办法,如果您不能验证当前区域设置,可以强制你计算机使用US English,或者你可以浏览器禁用JavaScript。...为了强制您电脑使用美国英语,你可以项目根目录Web.config文件里面添加全球化设置。 下面的代码演示设置为美国英语全球化文化设置。...有关延迟查询执行详细信息,请参阅Query Execution. 注:Contains 方法是运行在数据库,不是C#代码上面。...,不是作为查询字符串值,截图如下: ?...如我们使用面的代码: @Html.DropDownList("movieGenre", "Comedy") 我们数据库,我们拥有与“喜剧”流派电影,“喜剧”在下拉列表中将预先选择。

6.7K110

ASP.NET MVC 5 -从控制器访问数据模型

本节,您将创建一个新MoviesController类,并在这个Controller类里编写代码来取得电影数据,并使用视图模板将数据展示浏览器里。...private MovieDBContext db = new MovieDBContext(); 强类型模型和 @model 关键字 本系列前面教程,您看到了使用ViewBag对象,从控制器传递数据或对象给视图模板...例如 http://localhost:1234/movies/details/1 会设置电影控制器控制,该方法操作details并设置id为1。...好处之一是,这意味着您可以代码编译时进行检查,同时代码编辑器中支持更加全面的智能感知: ?...从控制器访问数据模型是MVC数据传递重要知识部分,深入理解了这部分内容才能更好进行MVC开发。当然,借助一些开发工具一样助力开发过程。

5.8K50

MVC5 Entity Framework学习之异步和存储过程

之前文章,你已经学习了如何使用同步编程模型来读取和更新数据,本节你将学习如何实现异步编程模型。异步可以使应用程序执行更有效率,因为它可以更有效使用服务器资源。...使用同步代码,大量线程将被锁定,但实际上它们并未作任何工作只是等待IO完成。使用异步代码,当一个进程正在等待IO完成时,它线程会被服务器释放并去处理其它请求。...ToList扩展方法异步版本被调用。 为何只修改了departments.ToList语句不是departments= db.Departments语句?...程序运行一切正常,但在此控制器,所有SQL查询都是异步执行。 当你使用Entity Framework来进行异步编程时要注意: 异步代码不是线程安全。...insert, update和delete操作中使用存储过程 某些开发人员和DBA喜欢使用存储过程来进行数据库访问。

1.3K90

MVC3教程之实体模型和EF CodeFirst

本节,我们将使用Entity Framework 数据访问技术来定义这些模型类,并对这些类来进行操作。EF支持一个被称之为“code-first”开发范例。...属性设置为“BookDbContext”,这个连接会被BookDbContext类使用,并根据连接创建相应数据库。...4.为Book创建控制器和Index视图   按照第一节步骤,我们为Book模型创建一个控制器文件夹“Controllers”上面点击右键 > “添加” > “控制器”,在打开添加控制器对话框...在这个模板,我们使用了Razor视图引擎,Razor,我们可以使用@model 用来指定传到视图 Model 类型,访问传入视图数据内容。...你也可以模型类显式地追加一个验证规则,然后整个应用程序中都使用这个验证规则。

1.3K20

《Kotin 极简教程》第11章 使用Kotlin 集成 SpringBoot开发Web服务端第11章 使用Kotlin集成SpringBoot开发Web服务端《Kotlin极简教程》正式上架:

Spring Boot更多是采用Java Config方式对Spring进行配置。...我们ArticleRepository重写了findAll方法: override fun findAll(): MutableList 然后,我们控制器代码中直接调用这个接口方法...findAll()) return ModelAndView("list") } 其中,ModelAndView("list")"list"表示视图文件所在目录相对路径。... reactor-kotlin 项目则是对 Reactor 中使用Kotlin 支持。目前该项目正在早期阶段。...使用Kotlin编写Spring Boot应用程序越多,我们越觉得这两种技术有着共同目标,让我们广大程序员可以使用—— 富有表达性 简洁优雅 可读 代码来更高效地编写应用程序,Spring Framework

2.7K10

2018年laravel教程第1节搭建项目phpstorm添加laravel代码提示新建路由和控制器渲染页面定义公共模板文件公共头部和底部小结

laravel 不管你用是哪个框架,作为PHP开发者,都很有必要学laravel laravel虽好,入门门槛却不低,尤其对于习惯了使用thinkphp同学,切换到laravel还是有些难度,因此...created successfully. laravel自动为我们生成了控制器:LaravelStudy/app/Http/Controllers/SiteController.php 渲染页面 ...class="nav-link text-light" href="{{ route('register') }}">注册 头部导航...a标签链接使用了命名路由,可以理解为给路由起了个别名,这个便于扩展,比如,现在登录业务对应是SiteController@login,以后可能随着业务改变,要改为UserControoler@login... 由于头部和底部是局部视图,以下划线作为开头命名,便于区分 公共模板引入头部和底部: LaravelStudy/resources/views/layouts

2K20
领券