ExtAspNet v2.1.5
ExtAspNet is a set of professional Asp.net controls with native AJAX support and rich UI effect
which aim at No JavaScript, No CSS, No UpdatePanel and No WebServices.
Support Browsers: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+
Note: ExtAspNet bases on Open Source Projects like ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor.
Examples: http://extasp.net/
Project: http://extaspnet.codeplex.com/
Blog: http://sanshi.cnblogs.com/
Email: sanshi.ustc@gmail.com
Release History:
+2009-11-21 v2.1.5
+Tree optimize。
-Fix the bug that states of Expanded and Checked items cann't be persisted through page post back.
-GetNodeById renamed to FindNode, which is consistent with FindControl of Asp.net controls.
-Remove CheckedNodeIDArray property, Add GetCheckedNodes and GetCheckedNodeIDs functions.
-Remove ExpandedNodeIDArray property, Add GetExpandedNodes and GetExpandedNodeIDs functions.
-Add example(data/tree_select_run.aspx), to explain how to check all children node when a parent node is checked(feedback:wjl_wjl520).
+NodeId property of TreeNode renamed to NodeID, this is a convention of ExtAspNet.
-At the same time, In GridColumn class ColumnId renamed to ColumnID and GetColumnId renamed to GetColumnID.
-Grid1.Columns.FindColumnById replaced by Grid1.FindColumn function.
-Add Node property for the following class TreeCheckEventArgs, TreeExpandEventArgs and TreeCommandEventArgs.
-Add Focus(overwrite Control's Focus function) and GetFocusReference functions for all componnets.
-Add example other/custom_postback.aspx(feedback:thebox)。
-Explain a way to send a postback on a textbox when you click the enter key.
-Add AutoLeafIdentification property to Tree control.
-Add examples(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。
+2009-11-21 v2.1.5
+Tree优化。
-修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。
-GetNodeById更名为FindNode,保持和FindControl一致命名。
-删除CheckedNodeIDArray属性,增加GetCheckedNodes和GetCheckedNodeIDs函数。
-删除ExpandedNodeIDArray属性,增加GetExpandedNodes和GetExpandedNodeIDs函数。
-增加示例(data/tree_select_run.aspx),如何选中当前节点的所有子节点(feedback:wjl_wjl520)。
+TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。
-同时更名的还有GridColumn的ColumnId->ColumnID,GetColumnId->GetColumnID。
-Grid1.Columns.FindColumnById函数被Grid1.FindColumn所替代。
-为TreeCheckEventArgs,TreeExpandEventArgs,TreeCommandEventArgs增加Node属性。
-为所有控件增加Focus(覆盖Control默认的Focus函数)和GetFocusReference函数。
-增加示例(other/custom_postback.aspx)(feedback:thebox)。
-如何自定义Javascript脚本和C#处理函数来响应键盘事件。
-为Tree增加AutoLeafIdentification属性。
-增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。
posted @ 2009-11-21 18:05
三生石上 阅读(1282)
评论(65) 编辑 收藏
评论
使用DropDownList时下拉列表的宽度总是显示估计为50px左右,无法和控件本身宽度一样!
DropDownList要放在SimpleForm或者Form控件中,我看你的好像不是吧。
DropDownListq我是放在Form控件中!
<ext:Form ID="InfoPanel" Width="565px" EnableBackgroundColor="true" runat="server" ShowBorder="false" ShowHeader="false" LabelWidth="100px">
<Rows>
<ext:FormRow>
<Items>
<ext:DropDownList Label="商品目录:" Required="true" EnableSimulateTree="true" Resizable="true" ShowRedStar="true" runat="server" ID="CategoryList">
</ext:DropDownList>
</Items>
</ext:FormRow>
</Rows>
</ext:Form>
不知道这样是否有问题?
@lqm4108
貌似没问题,你写一个简单的例子发给我看下。
找到问题所在:form的控件放在ContentPanel控件中所造成的,但是有点不明白,为何只有DropDownList才会出现这种布局问题?
不只DropDownList,很多表单控件如果不放在SimpleForm或者Form中都会有问题,这个应该是extjs实现的问题。
表单控件包含在SimpleForm或者Form中,但是SimpleForm或者Form控件外部嵌套着ContentPanel控件就会有此问题!另外,做了小测试,目录所包含的表单控件只有DropDownList布局会有问题(可能DDL实现的布局和其他表单不一样吧),最后还是要感谢博主。
ContentPanel控件是ExtAspNet中最特殊的一个控件,也只有这一个控件能够并且只能包含html或者asp.net控件。所有其他ExtAspNet控件只能包含ExtAspNet控件。
所以你把Form放在ContentPanel中本身就不是ExtAspNet所期望的做法哦......
LZ 使用了ExtAspNet的项目发布在 windows server 2003+IIS6.0的环境中 无法运行,页面无法显示,报'Ext'未定义
这个究竟是什么问题呢·····
form里面的那些控件没有title或者quickTip属性吗?提示信息不好放呀。。。
LZ 不知是不是Ext本来的文件引入顺序错误导致的,现在我把ext源码下下来,按正常顺序引入,依然不显示页面,但是错误变成了box未定义了
啥意思?extjs中哪有box...
这个问题还是要你自己看下,问题是不是出在ExtAspNet.
我们的 http://extasp.net/ 的部署环境是windows2008 server + IIS7
我在xp+iis5.1下测试无误,
但是2003+iis6.0就是不行···
box在请求回来的html源文件中....
Ext.onReady(function(){Ext.BLANK_IMAGE_URL='/WEB/WebResource.axd?d=SgNc6ApUSF5DPZ2gfoqsIp2PVri457RMpu0Y7_P7kPIE0rVKBeCDFEpmFHYmvKFK0&t=633944229000000000';if(!Ext.isIE6){Ext.QuickTips.init();}Ext.form.Field.prototype.msgTarget = 'side';Ext.form.Field.prototype.labelSeparator = '';
//这里
box.ajax.hookPostBack();
box.window_default_group=new Ext.WindowGroup
();box.window_default_group.zseed=6000;box.util.setHiddenFieldValue('__box_page_state_changed','false');box.__2=new Ext.form.TextField
```
估计是iis6.0没把js文件解释到····
郁闷中···
你查一下返回的Javascript文件内容是不是正常,很有可能是JS文件没有正确加载。
然后再看下你的网站配置是否 dotnetframework2.0+, 以及是否启用dotnetframework.
Alert窗口能否设置大小?页面Alert几次以后,Alert窗口保持在最小那次的状态,很难看。
grid控件中能否实现GridView中
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label lab = e.Row.FindControl("Label2") as Label;
lab.Attributes.Add("onmousemove", "Show('" + dt.Rows[e.Row.RowIndex]["Uquestion"].ToString() + "', '" + dt.Rows[e.Row.RowIndex]["Uanswer"].ToString() + "', '" + dt.Rows[e.Row.RowIndex]["Uemail"].ToString() + "')");
lab.Attributes.Add("onmouseout", "Hide();");
}
}
的功能? 好像没e.Row.RowType
ExtAspNet中的RowDataBound有点不同,不需要RowType因为ExtAspNet的Grid没有Header和Footer可以控制,所以这里的Row都是DataRow。
Grid有没有客户端的行单击和行双击事件,因为有的时候需要做成选择器来用,没有双击事件的话不好用。
可以使用Javascript来添加,这个要参考一下extjs的文档。
现在我们有Grid的行单击事件(服务器事件,可以用C#代码处理)。
我在按钮事件中设置Region 的IFrameUrl
为什么页面不转向设置的页面呢?
@Blues T
show me some code.
@sanshi
<form id="form1" runat="server">
<ext:PageManager ID="PageManager1" AutoSizePanelID="BorderLayout1" HideScrollbar="true"
runat="server" />
<ext:BorderLayout ID="BorderLayout1" ShowBorder="false" runat="server">
<Regions>
<ext:Region ID="Region1" Margins="0 0 0 0" Height="60px" ShowBorder="false" ShowHeader="false"
Position="Top" Layout="Fit" runat="server">
<Toolbars>
<ext:Toolbar ID="Toolbar1" Position="Bottom" runat="server">
<Items>
<ext:Button ID="btnTaskList" runat="server" Text="任务列表" OnClick="btnTaskList_Click">
</ext:Button>
</Items>
</ext:Toolbar>
</Toolbars>
</ext:Region>
<ext:Region ID="Region3" ShowHeader="false" EnableIFrame="true" IFrameUrl="http://www.google.cn"
AutoHeight="true" IFrameName="main" Margins="0 0 0 0" Position="Center" runat="server">
</ext:Region>
</Regions>
</ext:BorderLayout>
</form>
后台:
public void btnTaskList_Click(object sender, EventArgs e)
{
Region3.IFrameUrl = "http://www.baidu.com"; //TaskList.aspx
}
LZ 不知道有没有ajax上传文件的控件,例子里没有注意到
已经增加了IFrameUrl为AJAX可更新的属性,可能需要明天中午才能Checkin到Codeplex,现在Codeplex的SVN居然挂掉了。
主页面 <ext:Panel ID="Panel4" ColumnWidth="45%" Height="120px" EnableBackgroundColor="false"
EnableIFrame="true" IFrameUrl="./Patient/CurrentPatient.aspx" runat="server"
ShowBorder="false" ShowHeader="false" Title="Patient Info">
</ext:Panel>
CurrentPatient.aspx 页面:
<ext:Window ID="Window1" Title="Search results:" Popup="false" EnableIFrame="true"
OnClose="Window1_Close" IFrameUrl="about:blank" runat="server" Target="_parent"
Height="300px" Width="600px">
</ext:Window>
请问, 当Window1 关闭时如何传一个参数给主页面,同时主页面改变某Region 的IFrameUrl
是不是只有WINDOW 才能类似
btnSearch.OnClientClick = Window1.GetSaveStateReference(hidPatientid.ClientID) + Window1.GetShowReference("./Lists.aspx?search=<script>" + search + "</script>&by=<script>" + by + "</script>");
ExtAspNet.PageContext.RegisterStartupScript(ExtAspNet.ActiveWindow.GetWriteBackValueReference(patientId) + ExtAspNet.ActiveWindow.GetClosePostBackReference());
谢谢!!
如果用session 主页面怎样才知道window1 变了(session 变了);
换一种说法,CurrentPatient.aspx 如何主动让主页面的IFrameUrl 改变
关闭 CurrentPatient.aspx 时可以指定刷新父页面,或者PostBack父页面,然后在Window的OnClose事件中处理。
谢谢!!
还是有点不明白,我是几年前用过asp.net做过项目,现在由于需要再临时用.
----------
CurrentPatient.aspx 指定刷新父页面 的话 CurrentPatient.aspx可能也会变,
另外主页面没有Window的OnClose事件
-------------------
如何PostBack父页面?
不知我的描述是否清楚
感谢楼主
请问楼主ExtAsp.net 您开发的时候有没有设计它们的命名规范
如:
<Ext:Label> "Elbl_Name" 什么的
不也意思, 再打扰一下,
示例我看过了, 示例与我提的有些不同,我的问题是主页面下面的PANEL 中用了一个iframe, 这个IFRAME 的页面 才打开WINDOW1.
而不是示例中的主页面直接打开WINDOW1
(window1与CurrentPatient.aspx 的)就类似您说的示例
请再看一下,希望能看明白,
http://218.92.19.238/2.jpg
主页面代码 <ext:Panel ID="Panel4" ColumnWidth="45%" Height="120px" EnableBackgroundColor="false"
EnableIFrame="true" IFrameUrl="./Patient/CurrentPatient.aspx" runat="server"
ShowBorder="false" ShowHeader="false" Title="Patient Info">
</ext:Panel>
CurrentPatient.aspx 页面代码:
<ext:Window ID="Window1" Title="Search results:" Popup="false" EnableIFrame="true"
OnClose="Window1_Close" IFrameUrl="about:blank" runat="server" Target="_parent"
Height="300px" Width="600px">
</ext:Window>
大概明白了,你的意思是主页面中有IFrame页面A,在A中弹出IFrame页面B,现在关闭B,要求A和主页面都更新对吧。
现在关闭B页面后,A页面的OnClose="Window1_Close"是能够执行的对吧,问题的关键是怎么来更新主页面。
我想想哦。
Ext:DropDownList
但是 不能选择其他项 我不知道什么原因造成的
public void GetZhiWei()
{
List<MyClass> list = new List<MyClass>();
list.Add(new MyClass("1", ".Net初级程序员"));
list.Add(new MyClass("2", ".Net高级程序员"));
list.Add(new MyClass("3", ".Net团队经理"));
list.Add(new MyClass("4", "JAVA初级程序员"));
ddlCurrentJob.DataTextField = "Name";
ddlCurrentJob.DataValueField = "id";
ddlCurrentJob.DataSource = list;
ddlCurrentJob.DataBind();
}
<ext:DropDownList ID="ddlCurrentJob" Label="目前职位:" Required="true"
ShowLabel="true" ShowRedStar="true" runat="server" Width="250px">
</ext:DropDownList>
麻烦楼主了
那个grid如果上面的字段为空会有问题,就是grid列绑定的字段如果为空会出错.
还有个问题,grid在查询的时候,有的时候无法呈现查询到数据.
请问楼主 这里可以用样式吗
我试了一下 CssClass 没有作用~
可以使用,不过你可能需要用Firebug看下你的样式作用的DOM节点对不。
因为extjs会增加很多DIV的层次结构。
问个SplitButton的问题,谢谢
前台:
<ext:SplitButton ID="btnSearchData" runat="server" Text="查询数据" CssStyle="margin-left:5px;"
SystemIcon="Search" OnClick="btnSearchData_Click">
<Menus>
<ext:Menu ID="btnMenu" runat="server">
<ext:MenuButton ID="_100" Text="前100条" runat="server" OnClick="ButtonEvent">
</ext:MenuButton>
<ext:MenuButton ID="_200" Text="前200条" runat="server" OnClick="ButtonEvent">
</ext:MenuButton>
<ext:MenuButton ID="_300" Text="前300条" runat="server" OnClick="ButtonEvent">
</ext:MenuButton>
<ext:MenuButton ID="_500" Text="前500条" runat="server" OnClick="ButtonEvent">
</ext:MenuButton>
<ext:MenuButton ID="_1000" Text="前1000条" runat="server" OnClick="ButtonEvent">
</ext:MenuButton>
<ext:MenuButton ID="_all" Text="全部" runat="server" OnClick="ButtonEvent">
</ext:MenuButton>
<ext:MenuButton ID="_config" Text="自定义..." runat="server" OnClick="ButtonEvent">
</ext:MenuButton>
</ext:Menu>
</Menus>
</ext:SplitButton>
后台方法体都为空,不帖了..
ie8正常,ie6点击button旁边那个小箭头,就会报js错
Ext.QuickTips.getQuickTip() 为空或不是对象
请问如何解决,谢谢
@猪肉好吃
目前不支持IE6,等下个版本继承extjs3.0.3看能不能解决
62楼问题解决了.
把SplitButton的SystemIcon属性去掉就好了...
不知道是什么原因..
楼主看下吧
这个是extjs3.0的bug,已经extjs3.0.3中修正。
ExtAspNet也已经集成了extjs3.0.3在v2.1.8中。
我折腾了几天,才发现是服务器时间改为了2009年造成的这种问题。改一下系统时间就可以了!