MVC页面之间参数传递实现过程图解

 更新时间:2019年11月28日 09:28:13   作者:绿色的草  
这篇文章主要介绍了MVC页面之间参数传递实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了MVC页面之间参数传递实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

关于MVC页面之间的传值,有多种方式,下面,我们就Html.RenderAction 方式 和 Html.RenderPartial 方式 来给大家分享一下有什么不同。

一、Html.RenderAction 方式页面之间传递参数的方式:

Html.RenderAction 方式 是访问的另一页面的Controller,并将参数传入另一页面的Controller中相应的Action中的参数中。

例如:我有这么一个Controller和Action(是一个部分视图的)

public class TopController : Controller
  {
    // GET: Top
    public ActionResult Index(string content)
    {
      ViewBag.content = content;
      return PartialView();
    }
  }

这个Index中,将接到的参数写到ViewBag.content中,一面前端View界面中取到。如下:

那么我们如何利用Html.RenderAction方式,将参数传入到这个页面然后展示出来呢?

这就是利用Html.RenderAction方式,传递参数给Top 中的 Index 页的。

大家学会了嘛?

二、Html.RenderPartial 方式

Html.RenderPartial 方式 与 Html.RenderAction 不同,他没有将参数传递到另一页面的Controller对应的Action,而是直接传递到另一界面的Model中。

所以,Html.RenderPartial传值不会经过Controller直接进入Model。

下面我们来看一下具体的操作。

1、首先我们简历一个简单的Model模型。

public class Person
  {
    public string Name { get; set; }
    public string Sex { get; set; }
   
  }

2、建立界面Boot页,(Boot自己取的名字) 其 View如下:

上面代码中,我们将页面的model制定未Person类。在两个<h2>标签中根据类的属性去取相应的值。

建立完这个页面,我们就要向这个页面传值了,那么如何用 Html.RenderPartial 向其中传值呢? 如下:

上述红框中即为用 Html.RenderPartial 方式传值。

这种方式似乎还有不足的地方,是的,我们不可能每次用Html.RenderPartial方式传值的时候,都要去建立一个Model模型,这样的话几乎是场灾难。那么如何避免呢?

我们用Html.RenderPartial方式向另一界面传值的理想方式或许是这样的:

如上面红框中所示。直接用一个匿名对象将参数包进去,然后传递过去就行,但是,另一个页面是否会接受到呢?

或许,大家早已经测试过了,答案是:不可以。在Model中去Name和Sex,会报错的(相信各位园友们早已实验过了)

那么我们如何改进,能让这个页面可以接受到这种方式的参数传递呢?如下:

上述方式去取值,就会取到传递过来的匿名对象的相应属性了。是不是很high啊,以后传值就方便多了。

传递的参数的类型也可以是多种多样,例如:

我们加了一个DateTime类型的参数,那么另一界面还是一样,照接不误。

页面

好了,关于MVC页面之间参数传递,就分享到这里了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java中的SkyWalking监控告警详解

    Java中的SkyWalking监控告警详解

    这篇文章主要介绍了Java中的SkyWalking监控告警详解,SkyWalking在6.x版本中新增了告警功能,其核心在于config/alarm-settings.yaml文件中,该文件分为rules和webhooks两部分,需要的朋友可以参考下
    2023-11-11
  • Java如何通过枚举实现有限状态机

    Java如何通过枚举实现有限状态机

    这篇文章主要介绍了Java如何通过枚举实现有限状态机,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Java并发编程之浅谈ReentrantLock

    Java并发编程之浅谈ReentrantLock

    今天带大家学习Java并发编程的相关知识,文中对Java ReentrantLock作了非常详细的图文示例,对正在学习java的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • java操作ftp下载文件示例

    java操作ftp下载文件示例

    这篇文章主要介绍了java操作ftp下载文件的示例,需要的朋友可以参考下
    2014-02-02
  • Spring核心方法refresh的使用解析

    Spring核心方法refresh的使用解析

    这篇文章主要介绍了Spring核心方法refresh的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 在SpringBoot框架中实现打印响应的日志

    在SpringBoot框架中实现打印响应的日志

    这篇文章主要介绍了在SpringBoot框架中实现打印响应的日志,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Apache Dubbo的SPI机制是如何实现的

    Apache Dubbo的SPI机制是如何实现的

    SPI全称为Service Provider Interface,对应中文为服务发现机制。SPI类似一种可插拔机制,首先需要定义一个接口或一个约定,然后不同的场景可以对其进行实现,调用方在使用的时候无需过多关注具体的实现细节。在Java中,SPI体现了面向接口编程的思想,满足开闭设计原则。
    2021-06-06
  • java必学必会之网络编程

    java必学必会之网络编程

    java必学必会之网络编程,学习了解java网络编程、网络通信协议、TCP协议和UDP协议,对各个协议进行深入学习,做到必学必会
    2015-12-12
  • Java花式解决'分割回文串 ii'问题详解

    Java花式解决'分割回文串 ii'问题详解

    最学习动态规划思想的路上,遇见了‘分割回文串问题’,如临大敌啊,题目听起来蛮简单,思考起来却也没那么容易,本文将为大家详细介绍几种解决分割回文串 ii问题的办法,需要的可以参考一下
    2021-12-12
  • SpringBoot使用log4j2将日志记录到文件及自定义数据库的配置方法

    SpringBoot使用log4j2将日志记录到文件及自定义数据库的配置方法

    这篇文章主要介绍了SpringBoot使用log4j2将日志记录到文件及自定义数据库的配置方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-03-03

最新评论