【自然框架】之鼠标点功能现(二):表单控件的“应用”—— 代码?只写需要的!

介绍一种简化Web应用开发的方式,通过鼠标点击而非大量编码实现基本的增删改查(CRUD)功能。重点展示不同场景下如何利用预设页面与少量定制代码完成这些任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

【自然框架】之鼠标点功能现(一):单表的增删改查(即上次5月23日活动的一个主题)【Demo、源码下载】

 

 

      看了大家的回复,好像不少人误会了,我为了突出“鼠标点,功能现”,所以没有说代码,没有贴代码,这就让一些人认为我想要完全抛弃VS,自己写一个“平台”来代替,不好意思,您高估我了,我可达不到。我只是想“简单的事情点鼠标就可以了,复杂的事情就要写代码了”。

 

      还是举例子吧。比如说上次里的【表8:添加列表信息】、【表9:功能按钮】(添加按钮)、【表12:修改查询条件】、【表13:调整表单布局】
、【表15:修改字段配置信息】、【表16:新闻管理】这几个图里面的表单页面,其实都是DataForm.aspx页面,就是说他们使用的是同一个页面。

 【表8:添加列表信息】

 

 

 

      说到这里您可能会想,这个页面得多复杂呀,是不是要写n多代码呀?其实很简单。贴个代码:

.aspx页面

 

 1  <% @ Page validateRequest = " false "   Language = " C# "  AutoEventWireup = " true "  CodeBehind = " DataForm1.aspx.cs "  Inherits = " Nature.Manage.DataForm1 "   %>
 2 
 3  <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
 4 
 5  < html  xmlns ="http://www.w3.org/1999/xhtml"   >
 6  < head  runat ="server" >
 7       < title > <% = this.Lbl_Title.Text  %> </ title >
 8       <% = CssWeb %>  
 9       < script  language ="javascript"  type ="text/javascript"  src ="/public/js/myreturn.js" ></ script >
10       < script  language ="javascript"  type ="text/javascript"  src ="/public/js/check.js" ></ script >
11      
12       < script  language ="javascript"  type ="text/javascript" >
13           var  fid  =   "" ;
14          
15          fid  =   " <%=ForeignID%> " ;
16           function  myCheck()
17          {
18               return  CheckForm();
19          }
20      
21           function  myLoad()
22          {
23               if  (myTxtID)
24                   if  (document.getElementById(myTxtID))
25                      document.getElementById(myTxtID).focus();
26                      
27              
28          }
29          
30       </ script >
31  </ head >
32  < body >
33       < form  id ="form1"  runat ="server" >
34       < div  style ="width:100%; font-size:12pt; text-align: center;vertical-align:middle;" >
35           < asp:Label  ID ="Lbl_Title"  runat ="server"  style ="font-size:14pt; " ></ asp:Label >
36       </ div >
37       < div  style ="width:100%; text-align: center;vertical-align:middle;" >
38           < Nature:MyForm  ID ="myForm"  runat ="server"  onformbinded ="myForm_FormBinded"   />
39           < asp:Button  ID ="Btn_Save"  runat ="server"  Text =" 保 存 "   />
40  &nbsp;  
41  &nbsp; </ div >
42       </ form >
43  </ body >
44  </ html >
45 

 

 

一共就这么几行,主要是拽进来一个表单控件。

再看.aspx.cs页面。

 

 1  using  Nature;
 2  using  Nature.Data;
 3  using  Nature.Common;
 4  using  Nature.WebControls;
 5 
 6 
 7  namespace  Nature.Manage
 8  {
 9       ///   <summary>
10       ///  通用表单页面
11       ///   </summary>
12       public   partial   class  DataForm1 : CommonClass.BasePageForm
13      {
14           protected   void  Page_Load( object  sender, EventArgs e)
15          {
16 
17          }
18 
19           #region  保存记录,可以使添加,也可以是修改
20           protected   override   void  Btn_Save_Click( object  sender, EventArgs e)
21          {
22               this .myForm.SaveData();
23              Functions.PageRegisterJavascript(Page,  " myReturn() " );
24          }
25           #endregion
26 
27           #region  表单控件绑定后触发的事件
28           protected   void  myForm_FormBinded( object  sender, EventArgs e)
29          {
30 
31               // 获取表里面的外键字段
32 
33               string  ForeignColumnID  =  dal.ExecuteString( " select ForeignColumnID from Manage_Function_Info where FunctionID =  "   +   this .FunctionID);
34               if  (ForeignColumnID  !=   null )
35              {
36                   // 查找外键对应的控件
37                  MyTextBox txt  =  (MyTextBox)myForm.FindControl( " c_ "   +  ForeignColumnID);
38                   if  (txt  !=   null )
39                      txt.Text  =   base .ForeignID;
40              }
41 
42          }
43           #endregion
44 
45      }
46  }

 

 

还是这么几行,一点都不复杂,这个页面就是应对简单的添加、修改用的,简单的没有特殊需求的都可以用这个页面,但是如果遇到复杂的情况,那就要在单独写一个页面了,比如前面的【表6:添加节点】,要添加一个子节点,就要对几个字段进行计算,用这个页面就不适合了,但是我不会为了让DataForm.aspx能够添加节点,而去修改这个页面,而是在单独做一个页面 —— NoteMod.aspx 在这个页面里实现添加节点的功能。对了,添加节点有特殊的地方,但是修改节点就没有什么特殊的了,对于修改节点,那么就可以使用DataForm.aspx页面了。

 

 NoteMod.aspx 的代码:

 

 

 1  < body >
 2       < form  id ="form1"  runat ="server" >
 3       < div  style ="width:100%; font-size:12pt; text-align: center;vertical-align:middle;" >
 4           < asp:Label  ID ="Lbl_Title"  runat ="server"  style ="font-size:14pt; " ></ asp:Label >
 5       </ div >
 6       < div  style ="width:100%; text-align: center;vertical-align:middle;" >
 7           < Nature:MyForm  ID ="myForm"  runat ="server"  onformbinded ="myForm_FormBinded"   />
 8           < asp:Button  ID ="Btn_Save"  runat ="server"  Text =" 保 存 "   />
 9  &nbsp;  
10  &nbsp; </ div >
11       </ form >
12  </ body >

 

NoteMod.aspx.cs代码:

 

 

 

  1 using  Nature.User;
  2 using  Nature;
  3 using  Nature.Data;
  4 using  Nature.Common;
  5 using  Nature.WebControls;
  6
  7 namespace  Nature.Manage
  8 {
  9    /// <summary>
 10    /// 功能节点的添加、修改
 11    /// </summary>

 12    public partial class NoteMod : CommonClass.BasePageForm   
 13    {
 14        protected void Page_Load(object sender, EventArgs e)
 15        {
 16
 17        }

 18
 19        保存节点
 39
 40        表单控件绑定后触发的事件
 72
 73        添加子节点
128
129        添加兄弟节点
209
210        //一会移动到表单控件里面
211        protected void SetFormControlValue(MyForm form,string columnID,string value)
212        {
213            WebControl webControl;
214
215            webControl = (WebControl)form.FindControl("c_" + columnID);   //查找功能节点ID
216            ((IControlMgr)webControl).ControlValue = value;
217
218        }

219    }

220}

 

 

这里的代码就复杂了一些,但是也是围绕表单控件来做的。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值