asp.net-mvc – 如何在ASP.NET MVC中实现流畅的api?
发布时间:2020-12-16 03:45:12 所属栏目:asp.Net 来源:网络整理
导读:我想在我的mvc网站上实现流畅的api.我得到了基础知识. 所以实现对象库如: public class UIElement{/*...*/}public class ButtonBase : UIElement{/*...*/}public class LinkButton : ButtonBase {/*...*/} public static class Extensions { public static
我想在我的mvc网站上实现流畅的api.我得到了基础知识.
所以实现对象库如: public class UIElement{/*...*/} public class ButtonBase : UIElement{/*...*/} public class LinkButton : ButtonBase {/*...*/} public static class Extensions { public static T UIElementMethod<T>(this T element,string title) where T : UIElement { return element; } public static T ButtonBaseMethod<T>(this T element,string title) where T : ButtonBase { return element; } public static T LinkButtonMethod<T>(this T element,string title) where T : LinkButton { return element; } } 但是如何在没有一些flush方法调用的剃刀视图中使用它. @Html.UIproject().LinkButton() .UIElementMethod("asd") .ButtonBaseMethod("asd") .LinkButtonMethod("asd") 但它返回类的名称.我试图为MvcHtmlString创建一个隐式运算符,但它没有被调用. 谢谢, 解决方法
您的UIElement类需要实现IHtmlString接口. Razor调用此接口的ToHtmlString方法,并返回HTML编码的字符串.
所以我将在abscract基础UIElement上实现它并创建RenderHtml方法,该方法可以由具体的LinkBut??ton等类实现: public abstract class UIElement : IHtmlString { public string ToHtmlString() { return RenderHtml(); // This should return an HTML-encoded string. } public override string ToString() { return ToHtmlString(); } protected abstract string RenderHtml(); } 如果在WidgetBase类的Reflector / JustDecompile / dotPeek中检查KendoUI,您将看到相同的模式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC Web API缓存控制头部没有发送响
- 在ASP.net C#中伪造浏览器请求
- asp.net和js对cookie的相互操作问题
- asp.net-mvc-3 – 实体框架4.1自动日期
- asp.net-mvc – Css和脚本不工作,直到用户登录网站 – Asp.
- .net core入门-项目启动时报错:HTTP Error 502.5 - ANCM O
- asp.net – 将JSON发布到Controller
- 敏感词汇过滤DFA算法
- asp.net-mvc-4 – 如何从Glimpse获取时间轴数据进行报告?
- asp.net-mvc – ActionLink MVC中的图像按钮
推荐文章
站长推荐
- 实体框架asp.net应用程序中的UOW和存储库
- asp.net-mvc – 在ASP.NET MVC 3中使用Ajax响应发
- IIS – CPU使用率在几天内逐渐增加,直到100%
- asp.net-mvc – 在MVC 3模型ID属性中将ScaffoldC
- asp.net-mvc-4 – Azure上的PushSharp ASP.net M
- ASP.NET Web API合同版本控制
- ASP.NET WebApi 基于OAuth2.0实现Token签名认证
- asp.net – 在网页上显示文本时,Replace(Environ
- 实体框架 – ASP.net身份,IoC和共享DbContext
- asp-classic – 如何在VBScript中逐行读取CSV文件
热点阅读