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

ASP.NET MVC - 将数组对象作为Html.ActionLink(...)中的路由值传递

在ASP.NET MVC中,Html.ActionLink(...)方法用于生成一个链接,可以将数组对象作为路由值传递。以下是一个示例:

代码语言:csharp
复制
@model string[]

@{
    var routeValues = new RouteValueDictionary(Model.ToDictionary(x => "values[" + Array.IndexOf(Model, x) + "]", x => x));
}

@Html.ActionLink("Click Here", "ActionName", "ControllerName", routeValues, null)

在这个示例中,我们首先将数组对象转换为RouteValueDictionary类型的routeValues变量。这个变量将作为Html.ActionLink(...)方法的参数之一。

RouteValueDictionary的构造函数中,我们使用ToDictionary()方法将数组对象转换为键值对的集合。在这个过程中,我们使用Array.IndexOf(Model, x)方法为数组中的每个元素生成一个唯一的键。

最后,我们将生成的链接作为Html.ActionLink(...)方法的返回值,并将其插入到视图中。

在这个示例中,我们没有提及其他云计算品牌商,因此不需要提供额外的信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

最后一个参数是一个匿名对象,用来生成路由数据 (在本例,ID 为 4 )。...数据保存之后,代码会把用户重定向到MoviesController类Index操作方法,页面显示电影列表,同时包括刚刚所做更新。 如果form发送不是有效,它们重新显示在form。...它们获取影片对象 (或对象集合,如Index里对象集合),并将模型传递给视图。Create方法一个空Movie对象传递给创建视图。...在添加视图对话框,指定你要将Movie对象传递给视图模板作为其模型类。在框架模板列表,选择列表,然后单击添加....现在,搜索字符串信息作为窗体字段,发送到服务器。这意味着您不能在 URL 捕获此搜索信息,以添加书签或发送给朋友。

4.3K100

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

因为应用程序依赖于默认路由 ( App_Start\RouteConfig.cs 文件定义),浏览器请求http://localhost:xxxxx/Movies将被路由到Movies控制器默认Index...ViewBag是一个动态对象,提供了方便后期绑定(late-bound)方法信息传递给视图。 MVC 还提供了传递强类型对象(strongly typed objects)到视图模板能力。...Create和Edit方法还有视图模板都在传递电影强类型模型对象。 看一下Index.cshtml视图模版和MoviesController.csIndex 方法。...从控制器访问数据模型是MVC数据传递重要知识部分,深入理解了这部分内容才能更好进行MVC开发。当然,借助一些开发工具一样助力开发过程。...ASP.NET MVC 5 - 数据从控制器传递给视图 5. ASP.NET MVC 5 - 添加一个模型 6.

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

    最后一个参数是一个匿名对象(anonymous object),用来生成路由数据 (在本例,ID 为 4 )。...如果禁用JavaScript,则不会有客户端验证,但服务器检测回传是无效,而且重新显示表单与错误消息。在本教程后面,我们验证更详细审查。...他们得到一个电影对象(或对象列表,如本案例Index),并把模型数据传递给视图。Create方法传递一个空影片对象给Create视图。...SelectList对象在ViewBag作为存储类数据(这样电影流派),然后在下拉列表框数据访问类别,是一个典型MVC applications方法。...ASP.NET MVC 5 - 数据从控制器传递给视图 5. ASP.NET MVC 5 - 添加一个模型 6.

    6.7K110

    精通MVC3摘译(2)-生成URL

    处理发来URL只是MVC一部分,我们也需要生成一些URL植入到我们view,让用户点击,并提交表单到目标controller和action,下面会介绍一些生成URL技巧。...每一个路由都会被检查是否匹配,是否满足下面的3个条件: 1.URL模式定义片段变量都存在,路由系统首先会从匿名对象属性查找,然后再是当前请求变量值,最后是路由中定义默认。...这意味着,你提供action和controller可能是无效,必须自己确定他们确实存在。 传递额外 你可以传递使用匿名类型为片段变量传,其中匿名变量属性表示片段。...这还不只,路由系统这一技术作为他自己匹配方法一部分。路由系统会为某些片段重用URL模式中出现,这些片段变量必须是比 Html.ActionLink 方法中提供其他参数先出现。...当传递不符合片段变量时,这些会被作为query string,例如下面的调用ActionLink方法 @Html.ActionLink("About this application", "About

    81410

    【C++】STL 算法 ③ ( 函数对象存储状态 | 函数对象作为参数传递时值传递问题 | for_each 算法 函数对象 参数是传递 )

    文章目录 一、函数对象存储状态 1、函数对象存储状态简介 2、示例分析 二、函数对象作为参数传递时值传递问题 1、for_each 算法 函数对象 参数是传递 2、代码示例 - for_each...二、函数对象作为参数传递时值传递问题 1、for_each 算法 函数对象 参数是传递 下面开始分析 for_each 函数 函数对象 作为参数 具体细节 ; for_each 算法调用代码如下...是一个 , 不是引用 ; 传递是 引用 的话 , 那么 外部对象 和 实参 是相同对象 ; 传递 的话 , 那么 实参 只是 外部对象 副本 , 在 for_each 函数..., 由于 for_each 是 传递 , 传递 只是 函数对象副本 , 副本 状态改变 不会影响到外部函数 ; 如果想要 保留上述 状态改变 , 则需要使用 函数对象 接收 for_each 返回...传递 , 传递 只是 函数对象副本 , 副本 状态改变 不会影响到外部函数 ; 如果想要 保留上述 状态改变 , 则需要使用 函数对象 接收 for_each 返回 , 这个函数对象 保留了

    17410

    Asp.Net MVC4入门指南(5):从控制器访问数据模型

    因为应用程序依赖于默认路由 ( Global.asax文件定义),浏览器请求http://localhost:xxxxx/Movies将被路由到Movies控制器默认Index 操作方法。...强类型模型和 @model 关键字 在本系列之前教程,您看到了使用ViewBag对象,从控制器传递数据或对象给视图模板。ViewBag是一个动态对象,提供了方便后期绑定方法信息传递给视图。...ASP.NET MVC 还提供了传递强类型数据或对象到视图模板能力。这种强类型使得更好在编译时检查您代码并在Visual Studio 编辑器中提供更加丰富智能感知。...创建和编辑方法还有视图模板都在传递电影强类型模型对象。 看一下Index.cshtml视图模版和MoviesController.csIndex 方法。...model声明使得控制器可以强类型电影列表Model对象传递给View视图。

    4.2K50

    ASP.NET MVC 5 - 视图

    用Razor编写一个视图模板文件时,所需字符和键盘敲击数量降到了最低,并实现了快速,流畅编码工作流程。 当前在控制器类Index方法返回了一个硬编码字符串。... 如果要指定HTMLtitle元素,上面的代码设置了ViewBag对象 (在Index.cshtml视图模板Title属性。...如果您回去看看布局模板源代码,您会发现该模板会输出此倒元素,从而作为我们之前修改过 HTML 里一部分。 <!...ComponentOne Studio ASP.NET MVC 这款轻量级控件能与Visual Studio无缝集成,完全与MVC6和ASP.NET 5.0兼容,大幅提高开发效率。...ASP.NET MVC 5 - 数据从控制器传递给视图 5. ASP.NET MVC 5 - 添加一个模型 6.

    3.2K80

    Js数组对象某个属性升序排序,并指定数组某个对象移动到数组最前面

    需求整理:   本篇文章主要实现一个数组对象属性通过升序方式排序,然后能够让程序可以指定对应数组对象移动到程序最前面。...: 23},{name: "小芳", Id: 18}];   首先把数组Id通过升序方式排序: //源数组 var arrayData= [{name: "夏明", Id:24}, {name:..., Id: 24 },{ name: "小红", Id: 25 }] 找到Id为23对象,移动到数组最前面去(注意Id唯一): 实现原理:因为移除数组对象需要找到对应数组对象下标索引才能进行移除...,现在我们需要移除Id=23对象,让其排到最前面去(先找到对象下标,然后把给数组对象赋值给temporaryArry临时数组,然后在通过下标移除newArrayData对象,最后arrayData...[currentIdx]); //移除数组newArrayId=23对象 newArrayData.splice(currentIdx,1);//从start[一般为对象索引]位置开始向后删除

    12.3K20

    ASP.NET MVC 5 - 给电影表和模型添加新字段

    在本教程,我们将使用Code First Migrations方法。 更新Seed 方法,以使它可以给新列提供一个。...在下一节,我们让更多架构更改,并使用迁移来更新数据库。 此外您也应该把Rating 字段添加到Edit、Details和Delete视图模板。...在本节,您看到了如何修改模型对象并始终保持其和数据库Schema同步。您还学习了使用填充示例数据来创建新数据库例子,您可以反复尝试。...接下来,让我们看看如何丰富验证逻辑添加到模型类,并对模型类执行一些强制业务规则验证。相信有了本节如何修改模型对象并始终保持其和数据库Schema同步内容介绍,大家会对MVC理解又加深一步。...ASP.NET MVC 5 - 数据从控制器传递给视图 5. ASP.NET MVC 5 - 添加一个模型 6.

    2.4K80

    ASP.NET MVC学习笔记06编辑方法和编辑视图

    @Html.ActionLink("Edit", "Edit", new { id=item.ID }) Html对象是一个 Helper, 以属性形式在System.Web.Mvc.WebViewPage...因 此,ASP.NET http://localhost:xxxxx/Movies/Edit/4转化到 Movies 控制器 Edit操作 方法,参数 ID等于1 请求。...ASP.NET MVC model binder接收form所post数据,并转换所接收 Movie请求数据从而创建一个Movie对象。...如果禁用 JavaScript,则不会有客户端验证,但服务器检测回传是无效,而且重新显示 表单与错误消息。在本教程后面,我们验证更详细审查。...他们得到一个电影对象(或对象列表,如本案例 Index),并把模型数据传递给视图。Create方法传递一个空影片对象给Create视图。

    5K50

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

    这意味着,任何人都可以为这些对象生成他们自己自定义辅助方法,共享这些方法,为你所用。 在ASP.NET MVC框架将来预览版,我们提供几十个内置HTML和AJAX辅助方法。...在第一个预览版,只有"ActionLink"方法是内置于System.Web.Extensions(目前实现核心ASP.NET MVC框架程序集)。...我们可以更新我们"New"视图,用下面的代码,使用Html.Select选项来显示使用CategoryID/SupplierID属性作为,CategoryName/SupplierName作为显示文字下拉框...Url.Action和Html.ActionLink这2个辅助方法都使用了ASP.NET MVC框架路径选择引擎来生成URL(参阅第二部分以了解URL生成原理细节)。...但注意,填充不是一个空对象,我们使用了一个模式,先从数据库获取老,然后对它应用用户做改动,然后更新到数据库

    5.1K70

    ASP.NET 5系列教程 (三):view components介绍

    ASP.NET MVC 6,view components (VCs) 功能类似于虚拟视图,但是功能更加强大。 VCs兼顾了视图和控制器优点,你可以把VCs 看作一个Mini 控制器。...· 调用View公开方法,可以传递任意数量参数。在异步版本, InvokeAsync是可用。在后续章节我们提及InvokeAsync 和多参数使用方法。...在之前代码,公开方法返回为代办事项(ToDoItems),优先级不低于maxPriority。 添加视图控件 1....如果 VC 调用方法没有传递视图名称 (如例子中所示),那么默认情况下则调用视图名称对于方法。在后续文章阐述如何传递视图名称。...第一个参数是我们要调用组件名称。其余参数参数传递给该VC。在这个例子,我们传递“1”作为过滤优先级。InvokeAsync 方法可以包含任意数量参数。

    1.7K60

    ASP.NET MVC HtmlHelper类

    ASP.NET MVC之 HtmlHelper 在ASP.NET MVC项目的开发,一般会默认使用Razor视图来进行View层编写,从而实现高效率C#/HTML代码混写。...链接 @Html.ActionLink() 生成超链接,并自动根据路由进行匹配。 Eg: @Html.ActionLink("超链接eg", "About","Hello") ?...自动匹配了超链接标题,若不指定,则按照当前默认路由规则生成链接,避免了当路由规则发生变化后,需要对超链接进行重复修改。 常量或静态内容 @Html.Raw() 输出打印常量或者静态内容。 ?...,命名空间改为:System.Web.Mvc。...,于是我们命名空间与HtmlHelper类所在命名空间保持一致。   4.在页面我们就可以使用我们自己写扩展方法了 @Html.MyExtHtmlLabel("EdisonChou")

    1.8K30

    ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法

    ASP.Net MVC微软并没有提供类似服务器端控件那种开发方式,毕竟微软MVC就是传统请求处理响应回归。所以抛弃之前那种事件响应模型,抛弃服务器端控件也理所当然。   ...思考这样一个场景:我们项目第一个版本路由规则是这样{controller}/{action}/{id},于是我们项目中所有的标签所指向都是以刚刚规则命名href(例如:<a href...但是在第二版,我们路由规则也会变成了{controller}-{action}-{id},那么我们刚刚为超链接所设置href便都无法正常访问了。...gt;   这里主要是为了防止XSS攻击和恶意脚本,因此在MVC,默认就实现了。...,命名空间改为:System.Web.Mvc

    70120

    HtmlHelper(辅助产生HTML之用)

    弱类型: 1.使用HTML辅助方法输出超链接 (1)在View输出ASP.NET MVC超链接通常会用Html.ActionLink辅助方法,该方法用于产生文字链接,其文字部分会自动进行HTML编码...链接文字不可为空字符串、空白字符串或null,否则会抛出The Value cannot be null or empty异常。...null,new{@class="btnLink"}) 当需要传入超链接额外HTML属性时,可以参数加载第四个参数上。...()时,第一个参数为超链接显示文字,此参数不可以输入空字符串、空白字符串或null,否则会跑出The Value cannot be null or empty异常。  ...ASP.NET MVC还有另一个Html.RouteLink辅助方法,其用法与Html.ActionLink非常相似,差别仅在于输入参数要以RouteValue为主。

    1.1K30

    Asp.net mvc 知多少(三)

    该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大特点是以面试问答形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次理解。...由于个人技术水平和英文水平也是有限,因此错误在所难免,希望大家多多留言指正。 本节主要讲解视图引擎及HtmlHelper使用 Q24. ASP.NET MVC主要命名空间有哪些? Ans....视图引擎作为mvc子系统拥有自身语义标记。它职责是转换服务器模板为html标记并渲染呈现到浏览器。...@Html.ActionLink("SignUp", "SignUp") Q28. 如何自定义视图引擎? Ans. ASP.NET MVC 是一个开源并且高度可扩展框架。...ASP.NET MVC提供了基于jquery非侵入ajax。非侵入式ajax意味着通过使用帮助类方法去定义ajax功能而不是通过在view添加js代码块。 Q38.

    2.3K60
    领券