asp.net mvc 如何在action A 返回 action B 的渲染后的页面

yukeung 2017-03-26 05:02:06

public ActionResult Index()
{
ViewBag.Titil2 = "asdfas";
return View();
}
index.cshtml:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
@ViewBag.Title2
</div>
</body>
</html>

如上,访问Index的话返回一个页面。如果我想放回index2的时候也依旧返回index的内容,如何实现?注:不是跳转action
public ActionResult Index2()
{
//return index 的页面
}
...全文
247 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnFUCKINGSUCKS 2017-03-27
  • 打赏
  • 举报
回复
反过来考虑 在Index里面引用Index2 Controller

public class DefaultController : Controller
{
    //
    // GET: /Default/
    public ActionResult Index()
    {
        ViewBag.Title2 = "test";
        return View();
    }

    public ActionResult Index2()
    {
        return View();
    }
}
Index

@{
    Layout = null;
}

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <link href="~/Content/bootstrap.min.css" rel="stylesheet" />
    <link href="~/Content/bootstrap-theme.min.css" rel="stylesheet" />
    <script src="~/Scripts/jquery-3.1.1.min.js"></script>
    <script src="~/Scripts/bootstrap.min.js"></script>
</head>
<body>
    <div class=" container">
        这是Index
        @ViewBag.Title2
        @{Html.RenderAction("Index2");}
    </div>
</body>
</html>
Index2

@{
    Layout = null;
}

<div>
    <hr />
    这里是Index2
    @ViewBag.Title2
</div>
lazyls 2017-03-27
  • 打赏
  • 举报
回复
其实这个..个人觉得: 应该不用写另一个Action..直接Route到第一个Action就好了..
弘毅致远 2017-03-27
  • 打赏
  • 举报
回复
用partials来处理。
Poopaye 2017-03-27
  • 打赏
  • 举报
回复
把View提出来吧
你隔壁王大爷 2017-03-27
  • 打赏
  • 举报
回复
@{ Layout = null; } 重点是这个嘛?
EnForGrass 2017-03-27
  • 打赏
  • 举报
回复
这种我觉得用PartialView(renderpartial)或者childaction来做。返回内容用rendering-aspnet-mvc-views-to-html http://www.adnanzameer.com/2014/11/rendering-aspnet-mvc-views-to-html.html
yukeung 2017-03-26
  • 打赏
  • 举报
回复
引用 1 楼 freeflying1222 的回复:
        
public ActionResult Index2()
        {            
             return  View("Index");  //如果不在同一文件夹下,Index可能要写全称
        }
这个方法不行,这样只是指定了index2强制使用某个view来渲染。 像我贴的那里,如果这样写。@ViewBag.Title2 是不会输出的,因为index2没有给ViewBag.Title2赋值。 我想要的是把index 渲染后返回的html ,直接让index2调用,比如有没有方法可以这样:

        public ActionResult Index2()
        {            
             string indexHtml = index 调用方法渲染成html并返回。
             return Content( indexHtml );
        }
freeflying1222 2017-03-26
  • 打赏
  • 举报
回复
        
public ActionResult Index2()
        {            
             return  View("Index");  //如果不在同一文件夹下,Index可能要写全称
        }
asp.net mvc 3高级编程》 第1章 入门 1 1.1 asp.net mvc简介 1 1.1.1 asp.net mvc如何适应asp.net 1 1.1.2 mvc模式简介 2 1.1.3 mvc在web框架中的应用 2 1.1.4 asp.net mvc 3的发展历程 3 1.1.5 razor视图引擎 5 1.1.6 验证的改善 8 1.1.7 强大的javascript支持 9 1.1.8 高级功能 9 1.1.9 asp.net mvc 3特性总结 10 1.2 创建asp.net mvc 3应用程序 10 1.2.1 创建asp.net mvc 3应用程序的软件要求 11 1.2.2 安装asp.net mvc 3 11 1.2.3 创建asp.net mvc 3应用程序 12 1.2.4 new asp.net mvc 3 project对话框 13 1.3 asp.net mvc应用程序的结构 17 1.4 小结 20 第2章 控制器 21 .2.1 控制器的角色 21 2.2 控制器简史 22 2.3 示例应用程序:mvc music store 23 2.4 控制器基础 26 2.4.1 简单示例:home controller 26 2.4.2 创建第一个(非常简单的)控制器 29 2.4.3 控制器操作中的参数 31 2.5 小结 33 第3章 视图 35 3.1 视图的作用 36 3.2 指定视图 38 3.3 强类型视图 39 3.4 视图模型 41 3.5 添加视图 42 3.5.1 add view对话框中的选项 42 3.5.2 自定义t4视图模板 45 3.6 razor视图引擎 46 3.6.1 razor的概念 46 3.6.2 代码表达式 48 3.6.3 html编码 50 3.6.4 代码块 51 3.6.5 razor语法示例 52 3.6.6 布局 54 3.6.7 viewstart 56 3.7 指定分部视图 57 3.8 视图引擎 58 3.8.1 配置视图引擎 58 3.8.2 查找视图 59 3.8.3 视图本身 60 3.8.4 其他的视图引擎 61 3.9 新的视图引擎还是新的actionresult 62 3.10 小结 63 第4章 模型 65 4.1 为mvc music store建模 65 4.2 为商店管理器构造基架 68 4.2.1 基架的概念 68 4.2.2 基架和实体框架 69 4.2.3 执行基架模板 71 4.2.4 执行基架代码 75 4.3 编辑专辑 78 4.3.1 创建编辑专辑的资源 79 4.3.2 响应编辑时的post请求 81 4.4 模型绑定 83 4.4.1 defaultmodelbinder 84 4.4.2 模型绑定安全性简介 85 4.4.3 显式模型绑定 85 4.5 小结 86 第5章 表单和html辅助方法 89 5.1 表单的使用 89 5.1.1 action和method特性 90 5.1.2 get方法还是post方法 90 5.2 html辅助方法 94 5.2.1 自动编码 95 5.2.2 辅助方法的使用 95 5.2.3 html辅助方法的工作原理 96 5.2.4 设置专辑编辑表单 97 5.2.5 添加输入元素 98 5.2.6 辅助方法、模型和视图数据 102 5.2.7 强类型辅助方法 104 5.2.8 辅助方法和模型元数据 105 5.2.9 模板辅助方法 105 5.2.10 辅助方法和modelstate 106 5.3 其他输入辅助方法 107 5.3.1 html.hidden 107 5.3.2 html.password 107 5.3.3 html.radiobutton 107 5.3.4 html.checkbox 108 5.4 渲染辅助方法 108 5.4.1 html.actionlink和html.routelink 109 5.4.2 url辅助方法 110 5.4.3 html.partial和html.renderpartial 110 5.4.4 html.action和html.renderaction 111 5.5 小结 113 第6章 数据注解和验证 115 6.1 为验证注解订单 116 6.1.1 验证注解的使用 117 6.1.2 自定义错误提示消息及其本地化 121 6.1.3 注解的后台原理 122 6.1.4 控制器操作和验证错误 123 6.2 自定义验证逻辑 125 6.2.1 自定义注解 125 6.2.2 ivalidatableobject 128 6.3 显示和编辑注解 129 6.3.1 display 130 6.3.2 scaffoldcolumn 130 6.3.3 displayformat 131 6.3.4 readonly 131 6.3.5 datatype 132 6.3.6 uihint 132 6.3.7 hiddeninput 132 6.4 小结 132 第7章 应用程序的安全性 133 7.1 使用authorize特性登录 135 7.1.1 保护控制器操作 135 7.1.2 authorize特性在表单身份验证、accountcontroller控制器中的用法 139 7.1.3 intranet application模板中的windows authentication 141 7.1.4 整个控制器的安全性 141 7.2 要求角色成员使用authorize特性 142 7.3 扩展角色和成员 143 7.4 web应用程序中的安全向量 143 7.4.1 威胁:跨站脚本 144 7.4.2 威胁:跨站请求伪造 154 7.4.3 威胁:cookie盗窃 158 7.4.4 威胁:重复提交 160 7.4.5 威胁:开放重定向 162 7.5 适当的错误报告和堆栈跟踪 170 7.5.1 使用配置转换 171 7.5.2 使用retail部署配置 172 7.5.3 使用专门的错误日志系统 172 7.6 安全回顾和有用资源 172 7.7 小结 173 第8章 ajax 175 8.1 jquery 175 8.1.1 jquery的特性 176 8.1.2 非侵入式javascript 179 8.1.3 jquery的用法 180 8.2 ajax辅助方法 183 8.2.1 ajax的actionlink方法 183 8.2.2 html 5特性 185 8.2.3 ajax表单 186 8.3 客户端验证 188 8.3.1 jquery验证 189 8.3.2 自定义验证 190 8.4 辅助方法之外 194 8.4.1 jquery ui 194 8.4.2 使用jquery ui实现自动完成部件 195 8.4.3 json和jquery模板 199 8.5 提高ajax性能 204 8.5.1 使用内容分发网络 204 8.5.2 脚本优化 204 8.6 小结 205 第9章 路由机制 207 9.1 理解url 208 9.2 路由机制概述 209 9.2.1 对比路由和url重写 209 9.2.2 路由的定义 209 9.2.3 命名路由 217 9.2.4 mvc区域 219 9.2.5 catch-all参数 220 9.2.6 段中的多个url参数 221 9.2.7 stoproutinghandler和ignoreroute 222 9.2.8 路由的调试 223 9.2.9 揭秘路由如何生成url 224 9.3 揭秘路由如何绑定到操作 230 9.3.1 高层次请求的路由管道 230 9.3.2 路由数据 230 9.4 自定义路由约束 231 9.5 web forms和路由机制 232 9.6 小结 233 第10章 nuget 235 10.1 nuget概述 235 10.2 nuget安装 236 10.3 以包的形式添加库 238 10.3.1 查找包 239 10.3.2 安装包 240 10.3.3 更新包 242 10.3.4 最近使用的包 243 10.4 创建包 245 10.4.1 文件夹结构 246 10.4.2 nuspec文件 246 10.4.3 元数据 247 10.4.4 依赖库 248 10.4.5 指定要包含的文件 249 10.4.6 工具 249 10.4.7 框架和轮廓定位 252 10.5 发布包 253 10.5.1 发布到nuget.org 253 10.5.2 使用nuget.exe发布包 256 10.5.3 包浏览器的用法 257 10.5.4 托管私有的nuget供应库 258 10.6 小结 261 第11章 依赖注入 263 11.1 软件设计模式概述 263 11.1.1 设计模式—— 控制反转模式 264 11.1.2 设计模式—— 服务定位器 266 11.1.3 设计模式—— 依赖注入 270 11.2 依赖解析器的用法 272 11.2.1 单一注册服务 274 11.2.2 复合注册服务 275 11.2.3 创建任意对象 278 11.3 小结 280 第12章 单元测试 281 12.1 单元测试和测试驱动开发的意义 282 12.1.1 单元测试的定义 282 12.1.2 测试驱动开发的定义 283 12.2 创建单元测试项目 286 12.2.1 检查默认单元测试 287 12.2.2 只测试自己编写的代码 290 12.3 单元测试用于asp.net mvc应用程序的技巧和窍门 291 12.3.1 控制器测试 291 12.3.2 路由测试 296 12.3.3 验证测试 298 12.4 小结 302 第13章 扩展asp.net mvc 303 13.1 模型扩展 304 13.1.1 把请求数据转化为模型 304 13.1.2 用元数据描述模型 309 13.1.3 验证模型 312 13.2 视图扩展 315 13.2.1 自定义视图引擎 315 13.2.2 编写html辅助方法 317 13.2.3 编写razor辅助方法 319 13.3 控制器扩展 319 13.3.1 操作选择 319 13.3.2 操作过滤器 321 13.3.3 提供自定义结果 323 13.4 小结 324 第14章 高级主题 325 14.1 高级razor 325 14.1.1 模板化的razor委托 325 14.1.2 视图编译 326 14.2 高级基架 328 14.2.1 自定义t4代码模板 328 14.2.2 nuget包mvcscaffolding 329 14.2.3 更新的add controller对话框选项 329 14.2.4 使用库模板 330 14.2.5 添加基架器 332 14.2.6 额外资源 332 14.3 高级路由 332 14.3.1 routemagic 332 14.3.2 可编辑的路由 333 14.4 模板 337 14.4.1 默认模板 338 14.4.2 自定义模板 342 14.5 高级控制器 344 14.5.1 定义控制器:icontroller接口 344 14.5.2 controllerbase抽象基类 346 14.5.3 控制器类和操作 346 14.5.4 actionresult 351 14.5.5 操作调用器 359 14.5.6 使用异步控制器操作 362 14.6 小结 370

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧