MVC部分视图的巧用

View视图界面

1
@{ Html.RenderAction("demo", "", new { id = ViewBag.id });}

  请求的控制器方法

1
2
3
4
5
public ActionResult Index(int? id)
       {
            ViewBag.id = id;
           return View();
       }       

  部分视图方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//这里它会找到视图,名字必须一样,如果不一样,就在下面指定
public PartialViewResult demo(string id)
         {
 
   //对数据库的一些操作
  //··········
  //··········
  //··········
  //··········
  //·········· 
  //··········
    
      return PartialView();//返回部分视图,就是要展示在主视图上的数据内容板块
       }

  

这样的做法让多个界面可以共用,例如:

1、点击分类展示相关产品数据

2、点击品牌展示相关产品数据

3、搜索产品,展示数据

4、············

 

第一步:先确认好前端界面,以及数据使用的部分

第二步:将包含从数据库查询的数据html代码和相关展示操作代码一同复制到部分视图页面(部分视图是空的,直接将要展示的那一块复制进去,情况不同有可能需要引入命名空间 @using xxx)

第三步:主视图方法接收 

1
ViewBag.id = id;<br><br>//跳转到视图
1
return View();<br><br>//在视图页面被空的区域,也就是被拿走的那一坨本来要展示数据的html代码里面放入
1
@{ Html.RenderAction("demo", "", new { id = ViewBag.id });}<br><br>第四步:在控制器里面创建相同名称的方法,名字必须一样,如果不一样,就在方法体里面指定<br><br><br>大功告成....<br><br><br>有时间再介绍TempData.....对需要参数类型不同的比较适合
posted @   君宁天下  阅读(1020)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
野生程序员真的是太难了,一刻也不敢停止学习
点击右上角即可分享
微信分享提示