分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

.net mvc控制器传递方法到视图

发布时间:2023-09-06 01:42责任编辑:白小东关键词:暂无标签

很多人都是在视图里面定义方法,然后再使用。我个人也是这么干的。但是为了验证是否可以将方法从控制器传递到视图,所以做了个测试。结果真的可以。原理是利用了委托(delegate),因为委托本身就是一种类型。既然是类型,那么就有实例。有了实例就可以作为View()方法的参数传递到视图。

下面贴代码:

ActionResult:

 ???????public delegate string MyDelegate(string content); ???????public ActionResult DelegateTest() ???????{ ???????????MyDelegate myDelegate = (string content) => { return content; }; ???????????return View(myDelegate); ???????}

视图:

<h2>DelegateTest</h2>@model MvcApplication1.Controllers.TestController.MyDelegate@Model("delegate test")

既然委托都可以了,那么C#内置的Func<>委托肯定也是可以的

ActionResult:

 ???????public ActionResult FunTest() ???????{ ???????????Func<string, string> myDelegate = (string content) => { return content; }; ???????????return View(myDelegate); ???????}

视图:

<h2>FunTest</h2>@model System.Func<string, string>@Model("fun test")

使用Func<>或者Action<>委托的好处就是不需要再自定义委托类型了。

有人会说,你傻啊,定义一个类,在类里面写方法不就行了。可咱这只是纯为了验证是否能实现。

.net mvc控制器传递方法到视图

原文地址:https://www.cnblogs.com/subendong/p/8446195.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved