控件与基本布局

近期发现Extjs比较火,可能由于ExtJs用户体念比较好好吧,故学习.Net版的ExtJs Ext.Net,以便记下每一个脚印.学习资料主要参考了http://examples.ext.net/例子进行学习体验..
Ext.Net是一个开源的ASP.NET(WebForm+MVC)组件库,对Extjs javascript库进行的封装。虽然Ext.Net是经过封装成Net的组件,但在VS设计时工具箱的拖拽控件用处没有什么用处,且不能可视化使用。
先看基本界面布局设计效果


在该界面通过一个Viewport容器下放置一个FormPanel以至整个界面风格一致,又由于备注并非两列的布局,故放置一个Container1和HtmlEditor形成一列布局,然后将Container1的Layout设置为ColumnLayout以便进行列布局。
看下面前台代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FormPanel.aspx.cs" Inherits="ExtNet.FormPanel" %>

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>控件与基本布局</title>    
</head>
<body>
    <form id="form1" runat="server">
     <ext:ResourceManager ID="ResourceManager1" runat="server">
     </ext:ResourceManager>
     <ext:Viewport ID="ViewPortUserInfo" runat="server" Layout="FitLayout">
      <%--Viewport将整个页面以ExtNet风格显示--%>
        <Items>
            <ext:FormPanel ID="FormPanelUserInfo" runat="server"  Title="填写用户信息" Frame="True">
            <%--Frame="True" 设置FormPanel 为框架,这样FormPanel容器下控件处于统一风格--%>
                <Items>
                    <ext:Container ID="Container1" runat="server"  Layout="ColumnLayout" Height="115"
                        LabelAlign="Left">
                        <%--Height设置容器高度为200,默认为0,设置Layout为列显示.LabelWidth="80" Label宽80,根据Label文字总宽度手动设定--%>
                        <Items>
                            <ext:Container ID="Container2" runat="server" Layout="FormLayout"  ColumnWidth=".5">
                            <%-- Layout="FormLayout" Form布局,ColumnWidth=".5" 列宽50% --%>
                                <Items>
                                    <ext:TextField ID="txtUserName" runat="server" FieldLabel="姓名" AnchorHorizontal="95%" AllowBlank="false">
                                    </ext:TextField>
                                    <ext:TextField ID="txtTel" runat="server" FieldLabel="电话" AnchorHorizontal="95%">
                                    </ext:TextField> 
                                    <ext:TextField runat="server" ID="txtEmail"  FieldLabel="邮箱" AnchorHorizontal="95%">
                                    </ext:TextField>
                                    <ext:DateField runat="server" ID="dfBirthDay" FieldLabel="生日" AnchorHorizontal="95%" Editable="false" 
                                    AllowBlank="false" Format="yyyy-MM-dd" >
                                    </ext:DateField>
                                </Items>
                            </ext:Container>
                            <ext:Container ID="Container3" runat="server" Layout="FormLayout"  ColumnWidth=".5">
                                <Items>
                                   <%--AnchorHorizontal="95%",总体宽95% ,AllowBlank是否允许空白,即是否必填--%>
                                    <ext:RadioGroup ID="rdoSex" FieldLabel="性别" runat="server">
                                      <Items>
                                          <ext:Radio ID="rdoMen" runat="server" BoxLabel="男" Checked="true">
                                          </ext:Radio>
                                           <%--FieldLabel与BoxLabel不同,FieldLabel是字段标识,是值标识--%>
                                          <ext:Radio ID="rdoWomen" runat="server" BoxLabel="女">
                                          </ext:Radio>
                                      </Items>  
                                    </ext:RadioGroup>
                                       <ext:TextField ID="txtMobile" runat="server" FieldLabel="手机" AnchorHorizontal="95%">
                                    </ext:TextField>  
                                    <ext:SelectBox ID="SelectBox1" runat="server" ValueField="Code" DisplayField="Name" FieldLabel="省份" AnchorHorizontal="95%" EmptyText="请选择...">
                                        <Store>
                                            <ext:Store ID="Store1" runat="server">
                                                <Reader>
                                                    <ext:ArrayReader>
                                                        <Fields>                                                            
                                                            <ext:RecordField Name="Code" />   
                                                            <ext:RecordField Name="Name" />                                                         
                                                        </Fields>
                                                    </ext:ArrayReader>
                                                </Reader>            
                                            </ext:Store>    
                                        </Store>    
                                    </ext:SelectBox>         
                                     <ext:TextField ID="txtAdd" runat="server" FieldLabel="地址" AnchorHorizontal="95%">
                                    </ext:TextField>
                               </Items>
                            </ext:Container>
                        </Items>
                    </ext:Container>
                     <ext:HtmlEditor ID="editNoteText" runat="server" AnchorHorizontal="98%"  FieldLabel="备注" >
                      </ext:HtmlEditor>
                </Items>               
            </ext:FormPanel>
        </Items>
    </ext:Viewport>
    </form>
</body>
</html>

后台代码

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;

namespace ExtNet {     public partial class FormPanel : System.Web.UI.Page     {         protected void Page_Load(object sender, EventArgs e)         {             if(!IsPostBack)LoadData();         }

        private void LoadData()         {             var store = this.SelectBox1.GetStore();             store.DataSource = new object[]                     {                         new object[] { "GD", "广东"},                         new object[] { "GX", "广西"},                         new object[] { "BJ", "北京"},                         new object[] { "SH", "上海"},                         new object[] { "HN", "湖南"}                     };             store.DataBind();         }     } }

后台代码主要SelectBox1的数据源.


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值