俗话说的好:没想好没事就爱造轮子,尤其是FineUI的扩展,那必须要出手改改,不改就难受,即使不会也得一点点摸,这不FineUI11出来,分析就是过程,重写才是目的,即使不用也得折腾;俗话结束。
要写扩展从标签入手,照着写就行了
来看这种标签的写法
@section body { <f:Button Text="缺省按钮" CssClass="marginr" runat="server" /> }
有个缺点🤔,没法F12,没反应,跳不过去,结束🔚。
今天对场景做了测试,
一个场景是每个页面打开都应该有一个menuid
菜单ID,在打开页面和页面回发时用以判断权限;
另一个场景一般我开发编辑功能 列表主页面使用IFrame
打开编辑的页面,需要将编辑的id
传给子页面,拼接在url
后面,在子页面保存时提交将id
传到后台
这两个场景都用到了__doPostBack
带自定义参数;按之前的写法我直接写js自定义回发
继续上一个稿子,FineUI11.0-CoreWebForms笔记(二)
这里的实现MethodInfo methodInfo = A(context, handlerInstance);
是这么写的
MethodInfo result = null; StringValues stringValues = P_0.HttpContext.Request.Query["handler"]; if (!string.IsNullOrEmpty(stringValues)) { result = P_1.GetType().GetMethod(stringValues, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); }
注意
handler
的方法 btnChangeEnable_Click
不能有重载!否则报错;
如果要避开默认的handler
的方法,只要找不到这个methodInfo
就行了,后台改个名就找不到了;
下面自已写一个Filter
试试
今天继续体验发现FineUI11的变化;
本次记录一下FineUI11实现WebForms模式
的探索,解读一下WebFormsFilter
到底干了什么;
上期提到了通过属性的get
set
状态FState
实现了WebForms
的写法,今天来拆解一下的内部机制
我注意到Startup.cs
页面增加了一行代码
cs // 自定义WebForms过滤器(仅在启用EnableWebForms时有效)
options.Filters.Insert(0, new FineUICore.WebFormsFilter());
核心就是WebFormsFilter
过滤器,直接F12