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

在同一个ActionLink c#中使用相同的控制器调用两个函数主函数和详细信息

在ASP.NET MVC中,可以通过使用ActionLink来生成一个链接,该链接将调用控制器中的特定操作方法。在这个问题中,我们需要在同一个ActionLink中调用控制器中的两个函数,即主函数和详细信息函数。

首先,我们需要在控制器中定义这两个函数。假设我们的控制器名为HomeController,代码如下:

代码语言:csharp
复制
public class HomeController : Controller
{
    public ActionResult Index()
    {
        // 主函数的逻辑代码
        return View();
    }

    public ActionResult Details()
    {
        // 详细信息函数的逻辑代码
        return View();
    }
}

接下来,在视图中使用ActionLink来生成链接。我们可以使用两种方式来实现在同一个ActionLink中调用两个函数。

第一种方式是使用匿名对象传递参数。代码如下:

代码语言:csharp
复制
@Html.ActionLink("点击查看详情", "Details", "Home", new { }, new { onclick = "location.href='" + Url.Action("Index", "Home") + "'" })

这个ActionLink将生成一个链接,点击链接时会先调用Details函数,然后通过JavaScript跳转到Index函数。

第二种方式是使用自定义的JavaScript函数来实现。代码如下:

代码语言:csharp
复制
<a href="#" onclick="callFunctions()">点击查看详情</a>

<script>
    function callFunctions() {
        $.ajax({
            url: '@Url.Action("Index", "Home")',
            type: 'GET',
            success: function () {
                window.location.href = '@Url.Action("Details", "Home")';
            }
        });
    }
</script>

这个方法使用了jQuery的ajax函数来异步调用Index函数,成功后再通过JavaScript跳转到Details函数。

以上是在同一个ActionLink c#中使用相同的控制器调用两个函数的方法。根据具体的需求和场景,可以选择适合的方式来实现。

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

相关·内容

ASP.NET MVC编程——视图

1Razon语法 使用@符号后接C#或VB.NET语句方式。...基本规则 1)变量 @后直接变量即可 2)代码块 为使用表达式或多行代码,@后跟大括号将多行代码包括大括号 3)“+” 对于加号连接两个字符串变量或属性,使用小括号将他们括起来 4)插入HTML或文字...每一行前面加上“@:” 5)使用注释 使用@**@将要注释部分包起来 6)用@@页面上显示@ @using 一个View引入此页所需程序集命名空间。...@help 使用自定义函数。这种方法有可能将一部分数据处理逻辑放到了页面,所以尽量不用。...,所以可以使用_LayoutOther.cshtml灵活定义FooterSectionHeaderSection节,可以想象这样一个场景,每个页面都需要加载js文件,而他们既有共用js文件,又有非共用

3K100

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

字典中有一个“class”键值不是问题,问题在于对象带有一个名为class属性。...带有连字符C#属性名是无效,但所有的HTML辅助方法渲染HTML时会将属性名下划线转换为连字符。...SelectList构造函数参数指定了原始集合(数据库Genres表)、作为后台值使用属性名称(Name)以及当前所选项值(他决定将哪一项标记为选择项)。...注意: 这些强类型辅助方法名称除了有"For"后缀之外,跟先前使用辅助方法还有相同名称。...渲染辅助方法 12.Html.ActionLinkHtml.RouteLink ActionLink辅助方法能渲染一个超链接(锚标签),渲染链接指向另一个控制器操作,与前面看到BeginForm辅助方法一样

2.9K30

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

ActionLink方法第一个参数是想要呈现链接文本 (例如,Edit Me)。第二个参数是要调用操作方法名称(本例, Edit方法)。...Search示例,Index.cshtml视图中执行查询。有关延迟查询执行详细信息,请参阅Query Execution. 注:Contains 方法是运行在数据库,而不是C#代码上面。...Visual Studio2013有一个很好改善: 显示编辑视图文件时。当你运行应用程序打开视图文件时,Visual Studio2013调用正确控制器操作方法来展示视图。 ?...请注意 HTTP POST 请求 URL GET 请求URL 是相同(localhost:xxxxx/电影/Index)— — URL 没有搜索信息。...尝试搜索流派,电影名称,并同时选择这两个条件。 ? 本节,您创建了一个搜索方法视图,使用它,用户可以通过电影标题流派来搜索。

6.7K110

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

本节,您将开始修改为电影控制器所新加操作方法视图。然后,您将添加一个自定义搜索页。 浏览器地址栏里追加/Movies, 浏览到Movies页面。并进入编辑(Edit)页面。...ID=4还会将参数ID为 4请求传递给Movies控制器Edit操作方法。 打开Movies控制器。如下所示两个Edit操作方法。... GET 方法修改数据还违反了 HTTP 最佳做法Rest架构模式, GET 请求不应更改应用程序状态。...SearchIndex示例,SearchIndex 视图中执行查询。有关延迟查询执行详细信息,请参阅Query Execution....请注意 HTTP POST 请求 URL GET 请求URL 是相同(localhost:xxxxx/电影/SearchIndex)— — URL 没有搜索信息。

4.2K100

ASP.NET MVC 5 - 视图

本节,你要去修改HelloWorldController类,使用视图模板文件,干净利索地封装过程:客户端浏览器生成HTML。...Razor视图模板文件使用.cshtml文件扩展名,并提供了一个优雅方式来使用C#语言创建所要输出HTML。...用Razor编写一个视图模板文件时,将所需字符键盘敲击数量降到了最低,并实现了快速,流畅编码工作流程。 当前控制器Index方法返回了一个硬编码字符串。...控制器Index方法并没有做太多工作,它只是执行了return View(),这个方法指定使用一个视图模板文件来Render返回给浏览器HTML。...浏览器标题、 标题二级标题都已经被修改了。(如果您在浏览器中看不到修改,有可能是页面被缓存了。

3.2K80

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

本节,您将创建一个新MoviesController类,并在这个Controller类里编写代码来取得电影数据,并使用视图模板将数据展示浏览器里。...创建一些更多电影数据(movie entries)。 同时也可以尝试点击编辑、详细信息删除功能链接。...private MovieDBContext db = new MovieDBContext(); 强类型模型 @model 关键字 本系列前面教程,您看到了使用ViewBag对象,从控制器传递数据或对象给视图模板...当创建操作方法视图时, Visual Studio scaffolding机制(也就是通过一个强类型模型)使用了MoviesController类视图模板。...请注意这些代码是如何在Index操作方法,创建List对象,并调用View方法

5.8K50

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

之前文章,你已经学习了如何使用同步编程模型来读取更新数据,本节你将学习如何实现异步编程模型。异步可以使应用程序执行更有效率,因为它可以更有效使用服务器资源。...同样本节你还将学习如何针对实体insert, update, delete操作使用存储过程。 最后将应用程序部署到 Windows Azure。 下面是完成后页面 ? ?...因此,异步代码可以更高效地使用服务器资源,并且能够没有延迟情况下处理更多流量。 .NET早期版本,编写测试异步代码是复杂、易于出错,且难以调试。...await关键字用于web服务调用,当编译器看到该关键字时,会将该方法分为两个部分:第一部分在异步操作开始时结束,第二部分被放入一个回调方法,并在操作完成时被调用。...程序运行一切正常,但在此控制器,所有SQL查询都是异步执行。 当你使用Entity Framework来进行异步编程时要注意: 异步代码不是线程安全

1.3K90

MVC 路由生成URL Url.Action&Html.ActionLink

项目中URL可能会发生改变,如果我们直接指定固定URL,在后期如果改变会比较麻烦,今天我介绍学习到两种方法 Url.Action 我们从官方注释可以看到每个参数应该传什么样值,下来我们来使用这个方法...,看看生成URL是什么,下面的是页面代码 action操作...&形式拼接在URL模式之后。...) 使用Html.ActionLink方法时,不需要写a标签,使用该方法会自动生成a标签,第一个参数传入a标签内部文本内容,显示文字。...二三四参数第一与Url.Action所传参数相同,第五个参数可以设置标签属性值,标签我设置了classtitle,下来我们看看生成URL到底是什么样

8910

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

本节,您将创建一个新MoviesController类,并在这个Controller类里编写代码来取得电影数据,并使用视图模板将数据展示浏览器里。...强类型模型 @model 关键字 本系列之前教程,您看到了使用ViewBag对象,从控制器传递数据或对象给视图模板。ViewBag是一个动态对象,提供了方便后期绑定方法将信息传递给视图。...当创建操作方法视图时, Visual Studio 基础结构机制使用了MoviesController类视图模板。...请注意这些代码是如何在Index操作方法,创建List对象,并调用View方法。...例如,Index.cshtml模板强类型Model对象上使用foreach语句循环遍历电影列表: @foreach (var item in Model) {

4.2K50

ASP.NET MVC学习笔记03视图

Razor视图模板文件使用.cshtml文件扩展名,并提供了一个优 雅方式来使用C#语言创建所要输出HTML。...用Razor编写一个视图模板文件时,将 所需字符键盘敲击数量降到了最低,并实现了快速,流畅编码工作流程。 ---- 控制器返回指定视图 当前控制器Index方法返回了一个硬编码字符串。...控制器Index方法并没有做太多工 作,它只是执行了return View(),这个方法指定使用一个视图模板文件来Render返回给浏览器HTML。...修改视图 通过修改布局模板上站点标题后缀,ActionLink文本内容,修改了站点标题,站点名称,以及版权说明通用部分,并适配到了所有的页面。...使用布局模板页面,可以很容易进行一个 修改并应用到所有页面 对视图介绍就是这样,下面开始接触MVCM,但是介绍模型之前,不得不说一下数据是如何从控制器传给视图,下一篇就先解决清楚这个问题。

2K30

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

ASP.NET MVC 6,view components (VCs) 功能类似于虚拟视图,但是功能更加强大。 VCs兼顾了视图控制器优点,你可以把VCs 看作一个Mini 控制器。...它负责控制应用某一功能模块,例如: 动态导航菜单 标签云 登录面板 购物车 最近文章 博客侧边栏 假如使用VC 创建了登录面板,可以很多场景调用,例如: 用户没有登录 用户已登录,需要退出使用其他帐号登录或者管理其他帐号...类似于ASP.NET 控制器, VC 可以作为POCO使用,但是更多用户倾向于使用从 VewComponent中继承而来方法属性。 VC创建方式有: 继承ViewComponent....controllers相同,VCs 必须是公开、非嵌套非抽象类。 添加view component 类 1....· 调用View公开方法,可以传递任意数量参数。异步版本, InvokeAsync是可用。在后续章节我们将提及InvokeAsync 多参数使用方法。

1.6K60

ASP.NET MVC路由扩展:链接URL生成

ASP.NET 路由系统通过注册路由表旨在实现两个“方向”路有功能,即针对入栈请求路由出栈URL生成。...为了编程方面,ASP.NET MVC为了设计了HtmlHelperUrlHelper这两个帮助类,我们可以通过调用它们ActionLink/RouteLinkAction/RouteUrl根据注册路有规则生成链接或者...它们分别对应于只读属性RequestContextRouteCollection,并且构造函数中被初始化。...System.Web.Mvc.Html.LinkExtensions,我们为HtmlHelper定义了如下所示一系列ActionLink方法重载。...我们将RouteHelper定义创建一个ASP.NET Web应用,如下面的代码片断所示,RouteHelper具有RequestContextRouteCollection两个属性,前者构造函数中指定

1.7K70

ASP.NET MVC HtmlHelper类

ASP.NET MVC之 HtmlHelper ASP.NET MVC项目的开发,一般会默认使用Razor视图来进行View层编写,从而实现高效率C#/HTML代码混写。...先贴一下MSDNHtmlHelper链接,MSDN对每一个构造函数、属性、方法扩展方法都做了说明,我这里就常用部分方法做一下简要展示。...扩展方法是一种特殊静态方法,但可以像扩展类型上实例方法一样进行调用。我们可以回到第一部分对HtmlHelper扩展类-InputExtension类上,它是对于HtmlHelper扩展。...这是因为如果不改命名空间,我们要使用自定义扩展方法需要在每个页面引入Models(MyHtmlHelper所在那个命名空间)这个命名空间,为了防止重复命名空间引入操作(想想我们使用Html.TextBox...,于是我们将命名空间与HtmlHelper类所在命名空间保持一致。   4.页面我们就可以使用我们自己写扩展方法了 @Html.MyExtHtmlLabel("EdisonChou")

1.8K30

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券