博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net mvc ChildActionOnly 和ActionName的用法
阅读量:6086 次
发布时间:2019-06-20

本文共 1087 字,大约阅读时间需要 3 分钟。

ChildActionOnly的目的主要就是让这个Action不通过直接在地址栏输入地址来访问,而是需要通过RenderAction来调用它。

<a href="javascript:;" οnclick="javascript:document.getElementById('show').style.display=''">

调用子操作</a>

<div id="show" >

<% Html.RenderAction("Test", "ChildTest"); %></div>

public ActionResult Index()

{

return View();

}

[ChildActionOnly]

public ActionResult Test()

{

return Content("Hello");

}

 

http://localhost:666/ChildTest/Test

如果直接这样访问Action的话就会报如下错误:

操作“Test”只能由子请求访问。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 操作“Test”只能由子请求访问。

从某种意义上来说也可以增强一定的安全性。

 

 

 

 

ActionName的意思就是为Action定义一个新的名称

[ActionName("NewTest")]

public ActionResult Test()

{

return Content("Hello");

}

如果是这样修改后,那么调用的时候就不是Test了,而是NewTest

<% Html.RenderAction("NewTest", "ChildTest"); %>

 

同名的时候不能重载(可以有一个Get,一个Post),

如:下面两个是可以允许的

public ActionResult ReadBook()

{

 

}

   [HttpPost]

        public ActionResult ReadBook(int id,int pageNum)
        {
        }

如果还要定义一样的话,可以通过自定义Action的名字的时候可以的

 [ActionName("Index2")]

 public ActionResult ReadBook(int n,int a,int b)

        {
   }

转载于:https://www.cnblogs.com/monian/p/4118465.html

你可能感兴趣的文章
ls,cp(备份),mv等命令进阶
查看>>
极客技术专题【002期】:开发小技巧 - 如何使用jQuery来处理图片坏链?
查看>>
【安全牛学习笔记】MSsqlL注入取得网站路径最好的方法
查看>>
使用SseEmitter不断向网页输出结果
查看>>
基于UDP的效劳器端和客户端
查看>>
什么是线程安全?
查看>>
renderform 使用
查看>>
分区表 fstab
查看>>
四川大学本科教务系统 - 一键评教
查看>>
Python 之 模块初识
查看>>
最常用的酒店IPTV系统实施方案
查看>>
thinkphp if标签比较标签
查看>>
系统架构高可用系统设计原则01
查看>>
设计模式——适配器模式(adpter模式)
查看>>
shell实例手册
查看>>
df命令、du命令、磁盘分区
查看>>
eolinker API-Shop “世界气象日”天气接口专题
查看>>
Cron表达式简介
查看>>
.net core权限认证
查看>>
eyoucms如何管理栏目
查看>>