• SpringNet 绑定集合数据


    Spring NET 出新版本了!增加了好多功能,WCF都加进去了,最重要的是通过一个exe安装后,文档,示例项目及源码全部提供!强悍! 有兴趣的朋友可以从这里去下载http://www.springsource.org/spring-community-download ,注册后可下载,安装exe后在开始菜单中可以看到如下:

    新版本SringNet实现了类到页面控件的间接绑定,可以将数据绑定到控件上,控件的数据也可以直接在向服务器端提交i时直接通过类来获取,

    大大地提高了数据可操作性。。。
    备注:目前对SpringNet技术正在研究,有出错的地方欢迎拍砖。
    实现例子如下
    1.绑定类
    /// <summary>
    ///Users 的摘要说明
    /// </summary>
    public class UsersInfo
    {
        public UsersInfo()
        {
            
        }
        public int Age { set; get; }
        public string UserName { set; get; }
        public string UserMail { set; get; }
    }
    

     2.绑定页面

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CollectionBindDemo.aspx.cs" Inherits="SpringBing_CollectionBindDemo" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <table>
            <%foreach (UsersInfo ui in Users)
              {%>
                <tr>
                    <td>用户名:</td><td><input name="txtUserName" type="text" value="<%=ui.UserName %>"/></td>
                    <td>年龄:</td><td><input name="txtAge" type="text" value="<%=ui.Age %>"/></td>
                    <td>邮箱:</td><td><input name="txtMail" type="text" value="<%=ui.UserMail %>"/></td>
                </tr>
                <%} %>
                <tr><td colspan="2"><input type="submit" value="添加" /></td></tr>
            </table>
        </div>
        </form>
    </body>
    </html>

     3.绑定页面后台代码

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using Spring.DataBinding;
    
    public partial class SpringBing_CollectionBindDemo : Spring.Web.UI.Page
    {
    
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack) 
            {
                users.Add(new UsersInfo());
            }
        }
        private IList<UsersInfo> users;
        protected IList<UsersInfo> Users { get { return users; } }
        protected override void InitializeDataBindings()
        {
            string bNames = "txtUserName,txtAge,txtMail";
            HttpRequestListBindingContainer hrlBinds = new HttpRequestListBindingContainer(bNames, "Users", typeof(UsersInfo));
            hrlBinds.AddBinding("txtUserName", "UserName");
            hrlBinds.AddBinding("txtAge", "Age");
            hrlBinds.AddBinding("txtMail", "UserMail");
            BindingManager.AddBinding(hrlBinds);
    
        }
        protected override void InitializeModel()
        {
            users=new List<UsersInfo>();
        }
        protected override void LoadModel(object savedModel)
        {
            users = (IList<UsersInfo>)savedModel;
        }
        protected override object SaveModel()
        {
            return users;
        }
    }
    
    呈现效果
    首次启动
     

    单击 “添加” 按钮后

    输入数据再 “添加”后

     

    最让人兴奋地是提交到服务器端得数据可以直接从实体(users)中获取!可以不采用Request啦。。。

    提交到服务器端时:后台代码users实体监视结果如下图:

     

     

    源代码下载
  • 相关阅读:
    二次开发注意
    LAMP集群项目五 nfs分发文件到服务器
    LAMP集群项目五 nfs存储的数据实时同步到backupserver
    LAMP集群项目五 项目备份
    LAMP集群项目五 部署NFS存储服务并设置WEB服务挂载
    LAMP集群项目四 安装apache、php及其插件
    iOS-单选cell的实现
    iOS-省市区选择的实现
    随机颜色的产生
    刷新轮的使用
  • 原文地址:https://www.cnblogs.com/zhangxiaolin/p/SpringNEt.html
Copyright © 2020-2023  润新知