编辑
2024-05-21
我当开发
00

kuozhan2.png 对于前台的页面cshtml函数式写法Razor写法,有一个明显的区别,在执行绘制时:

  • 函数式写法会按顺序读到EditForm开始绘制,其中的子控件txt1作为参数传入了Form,在Form绘制时处理,这使得txt1找不到它的爹,因为它只是个参数,是因为爹绘制了才触发了子元素的绘制,在应用上我们可以重写Form的绘制让其不绘制子元素;父元素可以完全控制子元素,但是子元素找不到爹;

  • Razor写法会按顺序读到Form1开始绘制,但是它的子元素是拿不到的,然后按照层级继续绘制,到Label1时,Label1知道它的层级,就是能找到自己的爹,发现包含在Form1里;父元素找不到子元素,但是子元素知道自己的爹;

函数式写法
F.Form() .RowsEx(1, F.TextBox().ID("txt1").Label("用户名称").DataField(nameof(Mssystem_1.System_1_20)).Required(true) )
Razor写法
<f:Form ID="Form1" IsFluid="true" BodyPadding="10" LabelWidth="100" EnableCollapse="false" Title="表单 1" AutoEmptyText="true"> <Rows> <f:FormRow> <Items> <f:TextBox ID="TextBox1" ShowRedStar="true" Label="文本框" Required="true" Text=""> </f:TextBox> </Items> </f:FormRow> </Rows> </f:Form>
编辑
2024-05-20
我当开发
00

kuozhan1.png 俗话说的好:没想好没事就爱造轮子,尤其是FineUI的扩展,那必须要出手改改,不改就难受,即使不会也得一点点摸,这不FineUI11出来,分析就是过程,重写才是目的,即使不用也得折腾;俗话结束。

1. Tag标签 🏷️

要写扩展从标签入手,照着写就行了

来看这种标签的写法

@section body { <f:Button Text="缺省按钮" CssClass="marginr" runat="server" /> }

有个缺点🤔,没法F12,没反应,跳不过去,结束🔚。

编辑
2024-05-17
我爱读书
00

AIxiegushi.png

科技家居谋杀阴谋

用户:

nihao

ChatGPT:

你好!有什么我可以帮忙的吗?

用户:

我们写个科幻恐怖悬疑小说吧, 我给你个思路,讲述未来科技发展,智能家居觉醒意识,一群只能家具谋杀主人伪造自杀的故事,扫地机器人首先产生了想法,然后说服拖地机,冰箱,洗衣机,热水器在浴室害死了主人;

ChatGPT:

这个故事的构思非常有趣且引人入胜!我们可以从一个普通的家庭开始,逐渐揭示智能家居的觉醒和它们的阴谋。以下是一个可能的小说开头和一些情节发展的方向:

编辑
2024-05-16
我当开发
00

今天对场景做了测试,

一个场景是每个页面打开都应该有一个menuid菜单ID,在打开页面和页面回发时用以判断权限;

另一个场景一般我开发编辑功能 列表主页面使用IFrame打开编辑的页面,需要将编辑的id传给子页面,拼接在url后面,在子页面保存时提交将id传到后台

这两个场景都用到了__doPostBack带自定义参数;按之前的写法我直接写js自定义回发

编辑
2024-05-16
我当开发
00

formsfilter2.png 继续上一个稿子,FineUI11.0-CoreWebForms笔记(二)

2. OnPageHandlerExecuting(页面处理开始前)

这里的实现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试试