v4.2.0
This commit is contained in:
parent
5e56b6b67a
commit
8e116609c6
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
1
FineUI.Examples/Global.asax
Normal file
1
FineUI.Examples/Global.asax
Normal file
@ -0,0 +1 @@
|
||||
<%@ Application Codebehind="Global.asax.cs" Inherits="FineUI.Examples.Global" Language="C#" %>
|
52
FineUI.Examples/Global.asax.cs
Normal file
52
FineUI.Examples/Global.asax.cs
Normal file
@ -0,0 +1,52 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.SessionState;
|
||||
|
||||
namespace FineUI.Examples
|
||||
{
|
||||
public class Global : System.Web.HttpApplication
|
||||
{
|
||||
|
||||
protected void Application_Start(object sender, EventArgs e)
|
||||
{
|
||||
Application["OnlineUserCount"] = 0;
|
||||
}
|
||||
|
||||
protected void Session_Start(object sender, EventArgs e)
|
||||
{
|
||||
// 这种统计在线人数的做法会有一定的误差
|
||||
Application.Lock();
|
||||
Application["OnlineUserCount"] = (int)Application["OnlineUserCount"] + 1;
|
||||
Application.UnLock();
|
||||
}
|
||||
|
||||
protected void Application_BeginRequest(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void Application_AuthenticateRequest(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void Application_Error(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void Session_End(object sender, EventArgs e)
|
||||
{
|
||||
Application.Lock();
|
||||
Application["OnlineUserCount"] = (int)Application["OnlineUserCount"] - 1;
|
||||
Application.UnLock();
|
||||
}
|
||||
|
||||
protected void Application_End(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -1,35 +1,35 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("FineUI.Examples")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("FineUI")]
|
||||
[assembly: AssemblyProduct("FineUI.Examples")]
|
||||
[assembly: AssemblyCopyright("Copyright (C) 2008-2009 sanshi.ustc@gmail.com")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("3d5900ae-111a-45be-96b3-d9e4606ca793")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("FineUI.Examples")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("FineUI")]
|
||||
[assembly: AssemblyProduct("FineUI.Examples")]
|
||||
[assembly: AssemblyCopyright("Copyright (C) 2008-2009 sanshi.ustc@gmail.com")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("3d5900ae-111a-45be-96b3-d9e4606ca793")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
|
@ -1,58 +1,85 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<section name="FineUI" type="FineUI.ConfigSection, FineUI" requirePermission="false"/>
|
||||
</configSections>
|
||||
<!-- 可用的配置项(这里列的都是默认值): Language="zh_CN" AjaxTimeout="60" EnableAjax="true" Theme="Blue" FormMessageTarget="Qtip" FormOffsetRight="20" FormLabelWidth="100" FormLabelSeparator=":" FormLabelAlign="Left" IconBasePath="~/icon" EnableAjaxLoading="true" AjaxLoadingType="Default" CustomTheme="" CustomThemeBasePath="~/theme" ExtjsBasePath="~/extjs" -->
|
||||
<FineUI DebugMode="true" />
|
||||
<appSettings/>
|
||||
<connectionStrings/>
|
||||
<system.web>
|
||||
<!-- Net3.5以上的项目,一定要为pages节点加上这两个属性:controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" -->
|
||||
<pages>
|
||||
<controls>
|
||||
<add assembly="FineUI" namespace="FineUI" tagPrefix="x"/>
|
||||
</controls>
|
||||
</pages>
|
||||
<httpModules>
|
||||
<add name="FineUIScriptModule" type="FineUI.ScriptModule, FineUI"/>
|
||||
</httpModules>
|
||||
<httpHandlers>
|
||||
<add verb="GET" path="res.axd" type="FineUI.ResourceHandler, FineUI" validate="false"/>
|
||||
</httpHandlers>
|
||||
<httpRuntime maxRequestLength="102400 "/>
|
||||
<customErrors mode="Off"/>
|
||||
<compilation debug="true"/>
|
||||
|
||||
<!--
|
||||
<authentication mode="Forms">
|
||||
<forms name=".ASPXFORMSAUTH" loginUrl="~/default.aspx" timeout="120" defaultUrl="~/main.aspx" protection="All" path="/"/>
|
||||
</authentication>
|
||||
<authorization>
|
||||
<deny users="?"/>
|
||||
</authorization>
|
||||
-->
|
||||
|
||||
</system.web>
|
||||
<!--
|
||||
<location path="res.axd">
|
||||
<system.web>
|
||||
<authorization>
|
||||
<allow users ="*" />
|
||||
</authorization>
|
||||
</system.web>
|
||||
</location>
|
||||
-->
|
||||
<!-- IIS7 Integrated Mode
|
||||
<system.webServer>
|
||||
<modules>
|
||||
<add name="FineUIScriptModule" type="FineUI.ScriptModule, FineUI"/>
|
||||
</modules>
|
||||
<handlers>
|
||||
<add name="FineUIResourceHandler" verb="GET" path="res.axd" type="FineUI.ResourceHandler, FineUI" validate="false"/>
|
||||
</handlers>
|
||||
<httpErrors errorMode="Detailed"/>
|
||||
<asp scriptErrorSentToBrowser="true"/>
|
||||
</system.webServer>
|
||||
-->
|
||||
</configuration>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<section name="FineUI" type="FineUI.ConfigSection, FineUI" requirePermission="false" />
|
||||
</configSections>
|
||||
<!-- 可用的配置项(这里列的都是默认值):
|
||||
Theme="Neptune"
|
||||
Language="zh_CN"
|
||||
AjaxTimeout="120"
|
||||
EnableAjax="true"
|
||||
DebugMode="false"
|
||||
FormMessageTarget="Qtip"
|
||||
FormOffsetRight="0"
|
||||
FormLabelWidth="100"
|
||||
FormLabelSeparator=":"
|
||||
FormLabelAlign="Left"
|
||||
EnableAjaxLoading="true"
|
||||
AjaxLoadingType="Default"
|
||||
CustomTheme=""
|
||||
IconBasePath="~/res/icon"
|
||||
CustomThemeBasePath="~/res/theme"
|
||||
JSBasePath="~/extjs"
|
||||
IEEdge="true"
|
||||
-->
|
||||
<FineUI DebugMode="true" Theme="Neptune" />
|
||||
<appSettings />
|
||||
<connectionStrings />
|
||||
<system.web>
|
||||
<!-- Net3.5以上的项目,一定要为pages节点加上这两个属性:
|
||||
controlRenderingCompatibilityVersion="3.5"
|
||||
clientIDMode="AutoID"
|
||||
-->
|
||||
<pages>
|
||||
<controls>
|
||||
<add assembly="FineUI" namespace="FineUI" tagPrefix="f" />
|
||||
</controls>
|
||||
</pages>
|
||||
<httpModules>
|
||||
<add name="FineUIScriptModule" type="FineUI.ScriptModule, FineUI" />
|
||||
</httpModules>
|
||||
<httpHandlers>
|
||||
<add verb="GET" path="res.axd" type="FineUI.ResourceHandler, FineUI" validate="false" />
|
||||
</httpHandlers>
|
||||
<httpRuntime maxRequestLength="102400 " />
|
||||
<customErrors mode="Off" />
|
||||
<compilation debug="true" />
|
||||
|
||||
<!--
|
||||
在虚拟主机中运行ASP.NET程序,要添加如下配置项,否则在页面回发时可能出现“验证视图状态 MAC 失败”的错误。
|
||||
如何生成MachineKey:http://blogs.msdn.com/b/amb/archive/2012/07/31/easiest-way-to-generate-machinekey.aspx
|
||||
-->
|
||||
<machineKey decryptionKey="C955D0B041D3749FB4E150677F827DC1857B909399A5D152,IsolateApps" validationKey="891194EEC95A3895658E397FEA04F6187CFAF77151BE89F207D993BB4BA9DE4152BACB05BC4AEB8BBB5FDD950F77881204F59F3F5DBE39FC3EC49119EA7C106D,IsolateApps" />
|
||||
|
||||
<!--
|
||||
<authentication mode="Forms">
|
||||
<forms name=".ASPXFORMSAUTH" loginUrl="~/default.aspx" timeout="120" defaultUrl="~/main.aspx" protection="All" path="/"/>
|
||||
</authentication>
|
||||
<authorization>
|
||||
<deny users="?"/>
|
||||
</authorization>
|
||||
-->
|
||||
|
||||
</system.web>
|
||||
<!--
|
||||
<location path="res.axd">
|
||||
<system.web>
|
||||
<authorization>
|
||||
<allow users ="*" />
|
||||
</authorization>
|
||||
</system.web>
|
||||
</location>
|
||||
-->
|
||||
<!-- IIS7 Integrated Mode
|
||||
<system.webServer>
|
||||
<modules>
|
||||
<add name="FineUIScriptModule" type="FineUI.ScriptModule, FineUI"/>
|
||||
</modules>
|
||||
<handlers>
|
||||
<add name="FineUIResourceHandler" verb="GET" path="res.axd" type="FineUI.ResourceHandler, FineUI" validate="false"/>
|
||||
</handlers>
|
||||
<httpErrors errorMode="Detailed"/>
|
||||
<asp scriptErrorSentToBrowser="true"/>
|
||||
</system.webServer>
|
||||
-->
|
||||
</configuration>
|
||||
|
@ -1,43 +1,48 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="accordion.aspx.cs" Inherits="FineUI.Examples.accordion.accordion2" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" runat="server" />
|
||||
<x:Accordion ID="Accordion1" Title="手风琴控件" runat="server" Width="300px" Height="450px"
|
||||
EnableFill="true" ShowBorder="True" ActiveIndex="1" EnableFrame="true" EnableCollapse="true">
|
||||
<Panes>
|
||||
<x:AccordionPane ID="AccordionPane1" runat="server" Title="面板一" IconUrl="../images/16/1.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Items>
|
||||
<x:Label ID="Label1" Text="面板一中的文本" runat="server">
|
||||
</x:Label>
|
||||
</Items>
|
||||
</x:AccordionPane>
|
||||
<x:AccordionPane ID="AccordionPane2" runat="server" Title="面板二" IconUrl="../images/16/4.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Items>
|
||||
<x:Label ID="Label2" Text="面板二中的文本" runat="server">
|
||||
</x:Label>
|
||||
</Items>
|
||||
</x:AccordionPane>
|
||||
<x:AccordionPane ID="AccordionPane3" runat="server" Title="面板三" IconUrl="../images/16/7.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Items>
|
||||
<x:Label ID="Label3" Text="面板三中的文本" runat="server">
|
||||
</x:Label>
|
||||
</Items>
|
||||
</x:AccordionPane>
|
||||
</Panes>
|
||||
</x:Accordion>
|
||||
<br />
|
||||
<x:Button ID="Button1" Text="获取当前展开的面板" runat="server" OnClick="Button1_Click">
|
||||
</x:Button>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="accordion.aspx.cs" Inherits="FineUI.Examples.accordion.accordion2" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
<f:Accordion ID="Accordion1" Title="手风琴控件" runat="server" Width="300px" Height="450px"
|
||||
ShowCollapseTool="true"
|
||||
ShowBorder="True" ActivePaneIndex="1" EnableCollapse="true">
|
||||
<Panes>
|
||||
<f:AccordionPane ID="AccordionPane1" runat="server" Title="面板一" IconUrl="~/res/images/16/1.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Items>
|
||||
<f:Label ID="Label1" Text="面板一中的文本" runat="server">
|
||||
</f:Label>
|
||||
</Items>
|
||||
</f:AccordionPane>
|
||||
<f:AccordionPane ID="AccordionPane2" runat="server" Title="面板二" IconUrl="~/res/images/16/4.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Items>
|
||||
<f:Label ID="Label2" Text="面板二中的文本" runat="server">
|
||||
</f:Label>
|
||||
</Items>
|
||||
</f:AccordionPane>
|
||||
<f:AccordionPane ID="AccordionPane3" runat="server" Title="面板三" IconUrl="~/res/images/16/7.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Items>
|
||||
<f:Label ID="Label3" Text="面板三中的文本" runat="server">
|
||||
</f:Label>
|
||||
</Items>
|
||||
</f:AccordionPane>
|
||||
</Panes>
|
||||
</f:Accordion>
|
||||
<br />
|
||||
<f:Button ID="Button1" Text="获取当前展开的面板" runat="server" OnClick="Button1_Click">
|
||||
</f:Button>
|
||||
<br />
|
||||
<br />
|
||||
<f:Button ID="Button2" Text="展开下一个面板" runat="server" OnClick="Button2_Click">
|
||||
</f:Button>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,23 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.accordion
|
||||
{
|
||||
public partial class accordion2 : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void Button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop(String.Format("当前展开的是第 {0} 个面板", Accordion1.ActiveIndex + 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.accordion
|
||||
{
|
||||
public partial class accordion2 : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void Button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop(String.Format("当前展开的是第 {0} 个面板", Accordion1.ActivePaneIndex + 1));
|
||||
}
|
||||
|
||||
protected void Button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
var nextIndex = Accordion1.ActivePaneIndex + 1;
|
||||
if (nextIndex >= Accordion1.Panes.Count)
|
||||
{
|
||||
nextIndex = 0;
|
||||
}
|
||||
|
||||
Accordion1.ActivePaneIndex = nextIndex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
219
FineUI.Examples/accordion/accordion.aspx.designer.cs
generated
219
FineUI.Examples/accordion/accordion.aspx.designer.cs
generated
@ -1,105 +1,114 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.accordion {
|
||||
|
||||
|
||||
public partial class accordion2 {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Accordion1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Accordion Accordion1;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.AccordionPane AccordionPane1;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.AccordionPane AccordionPane2;
|
||||
|
||||
/// <summary>
|
||||
/// Label2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label Label2;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.AccordionPane AccordionPane3;
|
||||
|
||||
/// <summary>
|
||||
/// Label3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label Label3;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.accordion {
|
||||
|
||||
|
||||
public partial class accordion2 {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Accordion1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Accordion Accordion1;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.AccordionPane AccordionPane1;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.AccordionPane AccordionPane2;
|
||||
|
||||
/// <summary>
|
||||
/// Label2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label Label2;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.AccordionPane AccordionPane3;
|
||||
|
||||
/// <summary>
|
||||
/// Label3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label Label3;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// Button2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button2;
|
||||
}
|
||||
}
|
||||
|
44
FineUI.Examples/accordion/accordion_autopostback.aspx
Normal file
44
FineUI.Examples/accordion/accordion_autopostback.aspx
Normal file
@ -0,0 +1,44 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="accordion_autopostback.aspx.cs" Inherits="FineUI.Examples.accordion.accordion_autopostback" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
<f:Accordion ID="Accordion1" Title="手风琴控件" runat="server" Width="300px" Height="450px"
|
||||
ShowCollapseTool="true"
|
||||
ShowBorder="True" ActivePaneIndex="1" AutoPostBack="true" OnPaneIndexChanged="Accordion1_PaneIndexChanged" EnableCollapse="true">
|
||||
<Panes>
|
||||
<f:AccordionPane ID="AccordionPane1" runat="server" Title="面板一" IconUrl="~/res/images/16/1.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Items>
|
||||
<f:Label ID="Label1" Text="面板一中的文本" runat="server">
|
||||
</f:Label>
|
||||
</Items>
|
||||
</f:AccordionPane>
|
||||
<f:AccordionPane ID="AccordionPane2" runat="server" Title="面板二" IconUrl="~/res/images/16/4.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Items>
|
||||
<f:Label ID="Label2" Text="面板二中的文本" runat="server">
|
||||
</f:Label>
|
||||
</Items>
|
||||
</f:AccordionPane>
|
||||
<f:AccordionPane ID="AccordionPane3" runat="server" Title="面板三" IconUrl="~/res/images/16/7.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Items>
|
||||
<f:Label ID="Label3" Text="面板三中的文本" runat="server">
|
||||
</f:Label>
|
||||
</Items>
|
||||
</f:AccordionPane>
|
||||
</Panes>
|
||||
</f:Accordion>
|
||||
<br />
|
||||
<f:Button ID="Button1" Text="获取当前展开的面板" runat="server" OnClick="Button1_Click">
|
||||
</f:Button>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
28
FineUI.Examples/accordion/accordion_autopostback.aspx.cs
Normal file
28
FineUI.Examples/accordion/accordion_autopostback.aspx.cs
Normal file
@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.accordion
|
||||
{
|
||||
public partial class accordion_autopostback : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void Button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop(String.Format("当前展开的是第 {0} 个面板", Accordion1.ActivePaneIndex + 1));
|
||||
}
|
||||
|
||||
protected void Accordion1_PaneIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop(String.Format("当前展开的是第 {0} 个面板", Accordion1.ActivePaneIndex + 1));
|
||||
}
|
||||
}
|
||||
}
|
105
FineUI.Examples/accordion/accordion_autopostback.aspx.designer.cs
generated
Normal file
105
FineUI.Examples/accordion/accordion_autopostback.aspx.designer.cs
generated
Normal file
@ -0,0 +1,105 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.accordion {
|
||||
|
||||
|
||||
public partial class accordion_autopostback {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Accordion1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Accordion Accordion1;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.AccordionPane AccordionPane1;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.AccordionPane AccordionPane2;
|
||||
|
||||
/// <summary>
|
||||
/// Label2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label Label2;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.AccordionPane AccordionPane3;
|
||||
|
||||
/// <summary>
|
||||
/// Label3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label Label3;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
}
|
||||
}
|
@ -1,71 +1,71 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="accordion_links.aspx.cs"
|
||||
Inherits="ExtAspNet.Examples.accordion.accordion_links" %>
|
||||
|
||||
<!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>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<ext:PageManager ID="PageManager1" runat="server" />
|
||||
<ext:Accordion ID="accordionMenu" Width="250px" Height="450px" runat="server" ShowBorder="true"
|
||||
ShowHeader="false" ShowCollapseTool="false">
|
||||
<Panes>
|
||||
<ext:AccordionPane ID="AccordionPane1" runat="server" Title="AccordionPane 1" IconUrl="../images/16/1.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Links>
|
||||
<ext:AccordionLink OnClientClick="return false;" NavigateUrl="http://www.google.com"
|
||||
Selected="true" Target="_blank" Text="Link 1" IconUrl="../images/16/2.png" runat="server" />
|
||||
<ext:AccordionLink OnClientClick="return false;" NavigateUrl="http://www.google.com"
|
||||
Target="_blank" Text="Link 2" IconUrl="../images/16/3.png" runat="server" />
|
||||
</Links>
|
||||
</ext:AccordionPane>
|
||||
<ext:AccordionPane ID="AccordionPane2" runat="server" Title="AccordionPane 2" IconUrl="../images/16/4.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Links>
|
||||
<ext:AccordionLink NavigateUrl="http://www.google.com" Target="_blank" Text="Link 1"
|
||||
IconUrl="../images/16/5.png" runat="server" />
|
||||
<ext:AccordionLink ID="linkFYBX" NavigateUrl="http://www.google.com" Target="_blank"
|
||||
Text="Link 2" IconUrl="../images/16/6.png" runat="server" />
|
||||
</Links>
|
||||
</ext:AccordionPane>
|
||||
<ext:AccordionPane ID="AccordionPane3" runat="server" Title="AccordionPane 3" IconUrl="../images/16/7.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Links>
|
||||
<ext:AccordionLink ID="linkDSP" NavigateUrl="http://www.google.com" Target="_blank"
|
||||
Text="Link 1" IconUrl="../images/16/8.png" runat="server" />
|
||||
<ext:AccordionLink NavigateUrl="http://www.google.com" Target="_blank" Text="Link 2"
|
||||
IconUrl="../images/16/9.png" runat="server" />
|
||||
</Links>
|
||||
</ext:AccordionPane>
|
||||
</Panes>
|
||||
</ext:Accordion>
|
||||
<br />
|
||||
<a href="#" onclick="activelinks('dsp');">Select Link 1 in Panel 3</a>
|
||||
<br />
|
||||
<iframe width="300px" height="100px" src="./accordion_links_iframe.htm"></iframe>
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
function activelinks(type) {
|
||||
|
||||
var menu = Ext.getCmp('<%= accordionMenu.ClientID %>');
|
||||
|
||||
switch (type) {
|
||||
case 'dsp':
|
||||
menu.box_active('<%= linkDSP.ClientID %>');
|
||||
break;
|
||||
case 'fybx':
|
||||
menu.box_active('<%= linkFYBX.ClientID %>');
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="accordion_links.aspx.cs"
|
||||
Inherits="ExtAspNet.Examples.accordion.accordion_links" %>
|
||||
|
||||
<!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>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<ext:PageManager ID="PageManager1" runat="server" />
|
||||
<ext:Accordion ID="accordionMenu" Width="250px" Height="450px" runat="server" ShowBorder="true"
|
||||
ShowHeader="false" ShowCollapseTool="false">
|
||||
<Panes>
|
||||
<ext:AccordionPane ID="AccordionPane1" runat="server" Title="AccordionPane 1" IconUrl="../images/16/1.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Links>
|
||||
<ext:AccordionLink OnClientClick="return false;" NavigateUrl="http://www.google.com"
|
||||
Selected="true" Target="_blank" Text="Link 1" IconUrl="../images/16/2.png" runat="server" />
|
||||
<ext:AccordionLink OnClientClick="return false;" NavigateUrl="http://www.google.com"
|
||||
Target="_blank" Text="Link 2" IconUrl="../images/16/3.png" runat="server" />
|
||||
</Links>
|
||||
</ext:AccordionPane>
|
||||
<ext:AccordionPane ID="AccordionPane2" runat="server" Title="AccordionPane 2" IconUrl="../images/16/4.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Links>
|
||||
<ext:AccordionLink NavigateUrl="http://www.google.com" Target="_blank" Text="Link 1"
|
||||
IconUrl="../images/16/5.png" runat="server" />
|
||||
<ext:AccordionLink ID="linkFYBX" NavigateUrl="http://www.google.com" Target="_blank"
|
||||
Text="Link 2" IconUrl="../images/16/6.png" runat="server" />
|
||||
</Links>
|
||||
</ext:AccordionPane>
|
||||
<ext:AccordionPane ID="AccordionPane3" runat="server" Title="AccordionPane 3" IconUrl="../images/16/7.png"
|
||||
BodyPadding="2px 5px" ShowBorder="false">
|
||||
<Links>
|
||||
<ext:AccordionLink ID="linkDSP" NavigateUrl="http://www.google.com" Target="_blank"
|
||||
Text="Link 1" IconUrl="../images/16/8.png" runat="server" />
|
||||
<ext:AccordionLink NavigateUrl="http://www.google.com" Target="_blank" Text="Link 2"
|
||||
IconUrl="../images/16/9.png" runat="server" />
|
||||
</Links>
|
||||
</ext:AccordionPane>
|
||||
</Panes>
|
||||
</ext:Accordion>
|
||||
<br />
|
||||
<a href="#" onclick="activelinks('dsp');">Select Link 1 in Panel 3</a>
|
||||
<br />
|
||||
<iframe width="300px" height="100px" src="./accordion_links_iframe.htm"></iframe>
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
function activelinks(type) {
|
||||
|
||||
var menu = Ext.getCmp('<%= accordionMenu.ClientID %>');
|
||||
|
||||
switch (type) {
|
||||
case 'dsp':
|
||||
menu.box_active('<%= linkDSP.ClientID %>');
|
||||
break;
|
||||
case 'fybx':
|
||||
menu.box_active('<%= linkFYBX.ClientID %>');
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,25 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace ExtAspNet.Examples.accordion
|
||||
{
|
||||
public partial class accordion_links : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace ExtAspNet.Examples.accordion
|
||||
{
|
||||
public partial class accordion_links : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,88 +1,88 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:2.0.50727.3603
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ExtAspNet.Examples.accordion {
|
||||
|
||||
|
||||
public partial class accordion_links {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// accordionMenu 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.Accordion accordionMenu;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.AccordionPane AccordionPane1;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.AccordionPane AccordionPane2;
|
||||
|
||||
/// <summary>
|
||||
/// linkFYBX 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.AccordionLink linkFYBX;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.AccordionPane AccordionPane3;
|
||||
|
||||
/// <summary>
|
||||
/// linkDSP 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.AccordionLink linkDSP;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:2.0.50727.3603
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ExtAspNet.Examples.accordion {
|
||||
|
||||
|
||||
public partial class accordion_links {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// accordionMenu 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.Accordion accordionMenu;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.AccordionPane AccordionPane1;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.AccordionPane AccordionPane2;
|
||||
|
||||
/// <summary>
|
||||
/// linkFYBX 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.AccordionLink linkFYBX;
|
||||
|
||||
/// <summary>
|
||||
/// AccordionPane3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.AccordionPane AccordionPane3;
|
||||
|
||||
/// <summary>
|
||||
/// linkDSP 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::ExtAspNet.AccordionLink linkDSP;
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +1,17 @@
|
||||
<!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>
|
||||
<title></title>
|
||||
<style type="text/css">
|
||||
body
|
||||
{
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
This is a page in iframe.
|
||||
<br />
|
||||
<a href="#" onclick="parent.window.activelinks('fybx');">Select Link 2 in Panel 2</a>
|
||||
</body>
|
||||
</html>
|
||||
<!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>
|
||||
<title></title>
|
||||
<style type="text/css">
|
||||
body
|
||||
{
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
This is a page in iframe.
|
||||
<br />
|
||||
<a href="#" onclick="parent.window.activelinks('fybx');">Select Link 2 in Panel 2</a>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,51 +1,51 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="accordion_tree.aspx.cs"
|
||||
Inherits="FineUI.Examples.accordion.accordion_tree" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style>
|
||||
body.x-body {
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" AutoSizePanelID="RegionPanel1" runat="server"></x:PageManager>
|
||||
<x:RegionPanel ID="RegionPanel1" ShowBorder="false" runat="server">
|
||||
<Regions>
|
||||
<x:Region ID="Region2" Split="true" Width="200px" Margins="0 0 0 0" ShowHeader="false"
|
||||
Title="目录" EnableCollapse="true" Layout="Fit" Position="Left" runat="server">
|
||||
<Items>
|
||||
<x:Accordion runat="server" ShowBorder="false" ShowHeader="false" ShowCollapseTool="true">
|
||||
<Panes>
|
||||
<x:AccordionPane runat="server" Title="面板一" IconUrl="~/images/16/1.png" BodyPadding="2px 5px"
|
||||
Layout="Fit" ShowBorder="false">
|
||||
<Items>
|
||||
<x:Tree runat="server" EnableArrows="true" ShowBorder="false" ShowHeader="false" ID="treeMenu">
|
||||
</x:Tree>
|
||||
</Items>
|
||||
</x:AccordionPane>
|
||||
<x:AccordionPane runat="server" Title="面板二" IconUrl="~/images/16/4.png" BodyPadding="2px 5px"
|
||||
ShowBorder="false">
|
||||
<Items>
|
||||
<x:Label Text="面板二中的文本" runat="server">
|
||||
</x:Label>
|
||||
</Items>
|
||||
</x:AccordionPane>
|
||||
</Panes>
|
||||
</x:Accordion>
|
||||
</Items>
|
||||
</x:Region>
|
||||
<x:Region ID="Region3" ShowHeader="false" EnableIFrame="true" IFrameUrl="~/accordion/accordion_tree_index.htm"
|
||||
IFrameName="main" Margins="0 0 0 0" Position="Center" runat="server">
|
||||
</x:Region>
|
||||
</Regions>
|
||||
</x:RegionPanel>
|
||||
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/common/menu.xml"></asp:XmlDataSource>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="accordion_tree.aspx.cs"
|
||||
Inherits="FineUI.Examples.accordion.accordion_tree" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style>
|
||||
body.f-body {
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="RegionPanel1" runat="server"></f:PageManager>
|
||||
<f:RegionPanel ID="RegionPanel1" ShowBorder="false" runat="server">
|
||||
<Regions>
|
||||
<f:Region ID="Region2" RegionSplit="true" Width="200px" ShowHeader="false"
|
||||
Title="目录" EnableCollapse="true" Layout="Fit" RegionPosition="Left" runat="server">
|
||||
<Items>
|
||||
<f:Accordion runat="server" ShowBorder="false" ShowHeader="false" ShowCollapseTool="true">
|
||||
<Panes>
|
||||
<f:AccordionPane runat="server" Title="面板一" IconUrl="~/res/images/16/1.png" BodyPadding="2px 5px"
|
||||
Layout="Fit" ShowBorder="false">
|
||||
<Items>
|
||||
<f:Tree runat="server" ShowBorder="false" ShowHeader="false" ID="treeMenu">
|
||||
</f:Tree>
|
||||
</Items>
|
||||
</f:AccordionPane>
|
||||
<f:AccordionPane runat="server" Title="面板二" IconUrl="~/res/images/16/4.png" BodyPadding="2px 5px"
|
||||
ShowBorder="false">
|
||||
<Items>
|
||||
<f:Label Text="面板二中的文本" runat="server">
|
||||
</f:Label>
|
||||
</Items>
|
||||
</f:AccordionPane>
|
||||
</Panes>
|
||||
</f:Accordion>
|
||||
</Items>
|
||||
</f:Region>
|
||||
<f:Region ID="Region3" ShowHeader="false" EnableIFrame="true" IFrameUrl="~/accordion/accordion_tree_index.htm"
|
||||
IFrameName="main" Position="Center" runat="server">
|
||||
</f:Region>
|
||||
</Regions>
|
||||
</f:RegionPanel>
|
||||
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/common/menu.xml"></asp:XmlDataSource>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,46 +1,46 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.accordion
|
||||
{
|
||||
public partial class accordion_tree : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
// 绑定 XML 数据源到树控件
|
||||
treeMenu.DataSource = XmlDataSource1;
|
||||
treeMenu.DataBind();
|
||||
|
||||
ResolveTreeNode(treeMenu.Nodes);
|
||||
}
|
||||
}
|
||||
|
||||
private void ResolveTreeNode(TreeNodeCollection nodes)
|
||||
{
|
||||
foreach (TreeNode node in nodes)
|
||||
{
|
||||
if (node.Nodes.Count == 0)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(node.NavigateUrl))
|
||||
{
|
||||
node.Target = "main";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ResolveTreeNode(node.Nodes);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.accordion
|
||||
{
|
||||
public partial class accordion_tree : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
// 绑定 XML 数据源到树控件
|
||||
treeMenu.DataSource = XmlDataSource1;
|
||||
treeMenu.DataBind();
|
||||
|
||||
ResolveTreeNode(treeMenu.Nodes);
|
||||
}
|
||||
}
|
||||
|
||||
private void ResolveTreeNode(TreeNodeCollection nodes)
|
||||
{
|
||||
foreach (TreeNode node in nodes)
|
||||
{
|
||||
if (node.Nodes.Count == 0)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(node.NavigateUrl))
|
||||
{
|
||||
node.Target = "main";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ResolveTreeNode(node.Nodes);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,78 +1,78 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.accordion {
|
||||
|
||||
|
||||
public partial class accordion_tree {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// RegionPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.RegionPanel RegionPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// Region2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Region Region2;
|
||||
|
||||
/// <summary>
|
||||
/// treeMenu 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Tree treeMenu;
|
||||
|
||||
/// <summary>
|
||||
/// Region3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Region Region3;
|
||||
|
||||
/// <summary>
|
||||
/// XmlDataSource1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.XmlDataSource XmlDataSource1;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.accordion {
|
||||
|
||||
|
||||
public partial class accordion_tree {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// RegionPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.RegionPanel RegionPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// Region2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Region Region2;
|
||||
|
||||
/// <summary>
|
||||
/// treeMenu 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Tree treeMenu;
|
||||
|
||||
/// <summary>
|
||||
/// Region3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Region Region3;
|
||||
|
||||
/// <summary>
|
||||
/// XmlDataSource1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.XmlDataSource XmlDataSource1;
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
请注意,本示例如何做到如下几点:
|
||||
<ul>
|
||||
<li>如何将树控件放在Accordion控件中; </li>
|
||||
<li>如何从XML文件加载树控件; </li>
|
||||
<li>如何在后台通过递归改变每个树节点的Target属性; </li>
|
||||
<li>树节点的Target属性是如何影响链接的打开位置。 </li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
请注意,本示例如何做到如下几点:
|
||||
<ul>
|
||||
<li>如何将树控件放在Accordion控件中; </li>
|
||||
<li>如何从XML文件加载树控件; </li>
|
||||
<li>如何在后台通过递归改变每个树节点的Target属性; </li>
|
||||
<li>树节点的Target属性是如何影响链接的打开位置。 </li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,34 +1,37 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="aspnet.aspx.cs" Inherits="FineUI.Examples.aspnet.aspnet" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" AjaxAspnetControls="aspBox,aspButton" runat="server" />
|
||||
<x:ContentPanel ID="ContentPanel1" runat="server" Width="650px" BodyPadding="5px"
|
||||
ShowBorder="true" ShowHeader="true" Title="内容面板">
|
||||
<x:TextBox runat="server" Width="300px" ID="extBox">
|
||||
</x:TextBox>
|
||||
<br />
|
||||
<asp:TextBox runat="server" Width="300px" ID="aspBox"></asp:TextBox>
|
||||
<br />
|
||||
<br />
|
||||
<x:Button ID="Button1" runat="server" CssClass="inline" Text="1. FineUI 按钮(AJAX)"
|
||||
OnClick="Button1_Click">
|
||||
</x:Button>
|
||||
<x:Button ID="Button2" runat="server" Text="2. FineUI 按钮" EnableAjax="false" OnClick="Button2_Click">
|
||||
</x:Button>
|
||||
<br />
|
||||
<asp:Button ID="Button3" Text="3. ASP.NET 按钮(AJAX)" runat="server" OnClick="Button3_Click"
|
||||
UseSubmitBehavior="false" />
|
||||
<asp:Button ID="Button4" Text="4. ASP.NET 按钮" runat="server" OnClick="Button4_Click" />
|
||||
</x:ContentPanel>
|
||||
<br />
|
||||
注意:只有设置ASP.NET按钮的属性UseSubmitBehavior=false,点击事件才是AJAX;否则点击ASP.NET按钮会导致整个页面回发。
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="aspnet.aspx.cs" Inherits="FineUI.Examples.aspnet.aspnet" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AjaxAspnetControls="aspBox" runat="server" />
|
||||
<f:ContentPanel ID="ContentPanel1" runat="server" Width="650px" BodyPadding="5px"
|
||||
ShowBorder="true" ShowHeader="true" Title="内容面板">
|
||||
<f:TextBox runat="server" Width="300px" ID="extBox">
|
||||
</f:TextBox>
|
||||
<br />
|
||||
<asp:TextBox runat="server" Width="300px" ID="aspBox"></asp:TextBox>
|
||||
<br />
|
||||
<f:Button ID="Button1" runat="server" CssClass="marginr" Text="1. FineUI 按钮(AJAX)"
|
||||
OnClick="Button1_Click">
|
||||
</f:Button>
|
||||
<f:Button ID="Button2" runat="server" Text="2. FineUI 按钮" EnableAjax="false" OnClick="Button2_Click">
|
||||
</f:Button>
|
||||
<br />
|
||||
<asp:Button ID="Button3" Text="3. ASP.NET 按钮(AJAX)" runat="server" OnClick="Button3_Click"
|
||||
UseSubmitBehavior="false" />
|
||||
<asp:Button ID="Button4" Text="4. ASP.NET 按钮" runat="server" OnClick="Button4_Click" UseSubmitBehavior="true" />
|
||||
</f:ContentPanel>
|
||||
注意:
|
||||
<ul>
|
||||
<li>【3. ASP.NET 按钮(AJAX)】设置了属性UseSubmitBehavior=false,点击此按钮是AJAX回发。</li>
|
||||
<li>【4. ASP.NET 按钮】设置了属性UseSubmitBehavior=true,点击此按钮会导致整个页面回发。</li>
|
||||
<li>由于【4. ASP.NET 按钮】在客户端会被渲染为input[type=submit],所以在两个文本输入框内按回车键都会导致整个页面回发。</li>
|
||||
</ul>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,48 +1,48 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.aspnet
|
||||
{
|
||||
public partial class aspnet : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected void Button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
aspBox.Text = "1. ASP.NET 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
extBox.Text = "1. FineUI 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
}
|
||||
|
||||
protected void Button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
aspBox.Text = "2. ASP.NET 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
extBox.Text = "2. FineUI 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
}
|
||||
|
||||
protected void Button3_Click(object sender, EventArgs e)
|
||||
{
|
||||
aspBox.Text = "3. ASP.NET 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
extBox.Text = "3. FineUI 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
}
|
||||
|
||||
|
||||
protected void Button4_Click(object sender, EventArgs e)
|
||||
{
|
||||
aspBox.Text = "4. ASP.NET 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
extBox.Text = "4. FineUI 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.aspnet
|
||||
{
|
||||
public partial class aspnet : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected void Button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
aspBox.Text = "1. ASP.NET 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
extBox.Text = "1. FineUI 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
}
|
||||
|
||||
protected void Button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
aspBox.Text = "2. ASP.NET 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
extBox.Text = "2. FineUI 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
}
|
||||
|
||||
protected void Button3_Click(object sender, EventArgs e)
|
||||
{
|
||||
aspBox.Text = "3. ASP.NET 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
extBox.Text = "3. FineUI 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
}
|
||||
|
||||
|
||||
protected void Button4_Click(object sender, EventArgs e)
|
||||
{
|
||||
aspBox.Text = "4. ASP.NET 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
extBox.Text = "4. FineUI 输入框 - " + DateTime.Now.ToLongTimeString();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
192
FineUI.Examples/aspnet/aspnet.aspx.designer.cs
generated
192
FineUI.Examples/aspnet/aspnet.aspx.designer.cs
generated
@ -1,96 +1,96 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.aspnet {
|
||||
|
||||
|
||||
public partial class aspnet {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.ContentPanel ContentPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// extBox 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox extBox;
|
||||
|
||||
/// <summary>
|
||||
/// aspBox 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox aspBox;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// Button2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button2;
|
||||
|
||||
/// <summary>
|
||||
/// Button3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button Button3;
|
||||
|
||||
/// <summary>
|
||||
/// Button4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button Button4;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.aspnet {
|
||||
|
||||
|
||||
public partial class aspnet {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.ContentPanel ContentPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// extBox 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox extBox;
|
||||
|
||||
/// <summary>
|
||||
/// aspBox 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox aspBox;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// Button2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button2;
|
||||
|
||||
/// <summary>
|
||||
/// Button3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button Button3;
|
||||
|
||||
/// <summary>
|
||||
/// Button4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button Button4;
|
||||
}
|
||||
}
|
||||
|
@ -1,27 +1,27 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="aspnet_literal.aspx.cs"
|
||||
Inherits="FineUI.Examples.aspnet.aspnet_literal" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" AjaxAspnetControls="Label1,Literal1,Literal2_Container" runat="server" />
|
||||
<asp:Label ID="Label1" Text="Label1" runat="server"></asp:Label>
|
||||
<br />
|
||||
<asp:Literal ID="Literal1" Text="Literal1" runat="server"></asp:Literal>
|
||||
<br />
|
||||
<div id="Literal2_Container">
|
||||
<asp:Literal ID="Literal2" Text="Literal2" runat="server"></asp:Literal>
|
||||
</div>
|
||||
<br />
|
||||
<x:Button ID="Button1" runat="server" Text="更新上面几个文本值" OnClick="Button1_Click">
|
||||
</x:Button>
|
||||
<br />
|
||||
注意:只有Label1和Literal2的值更新了。
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="aspnet_literal.aspx.cs"
|
||||
Inherits="FineUI.Examples.aspnet.aspnet_literal" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AjaxAspnetControls="Label1,Literal1,Literal2_Container" runat="server" />
|
||||
<asp:Label ID="Label1" Text="Label1" runat="server"></asp:Label>
|
||||
<br />
|
||||
<asp:Literal ID="Literal1" Text="Literal1" runat="server"></asp:Literal>
|
||||
<br />
|
||||
<div id="Literal2_Container">
|
||||
<asp:Literal ID="Literal2" Text="Literal2" runat="server"></asp:Literal>
|
||||
</div>
|
||||
<br />
|
||||
<f:Button ID="Button1" runat="server" Text="更新上面几个文本值" OnClick="Button1_Click">
|
||||
</f:Button>
|
||||
<br />
|
||||
注意:只有Label1和Literal2的值更新了。
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,30 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.aspnet
|
||||
{
|
||||
public partial class aspnet_literal : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected void Button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
Label1.Text = "Label1 - " + DateTime.Now.ToLongTimeString();
|
||||
Literal1.Text = "Literal1 - " + DateTime.Now.ToLongTimeString();
|
||||
Literal2.Text = "Literal2 - " + DateTime.Now.ToLongTimeString();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.aspnet
|
||||
{
|
||||
public partial class aspnet_literal : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected void Button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
Label1.Text = "Label1 - " + DateTime.Now.ToLongTimeString();
|
||||
Literal1.Text = "Literal1 - " + DateTime.Now.ToLongTimeString();
|
||||
Literal2.Text = "Literal2 - " + DateTime.Now.ToLongTimeString();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
138
FineUI.Examples/aspnet/aspnet_literal.aspx.designer.cs
generated
138
FineUI.Examples/aspnet/aspnet_literal.aspx.designer.cs
generated
@ -1,69 +1,69 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.aspnet {
|
||||
|
||||
|
||||
public partial class aspnet_literal {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// Literal1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal Literal1;
|
||||
|
||||
/// <summary>
|
||||
/// Literal2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal Literal2;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.aspnet {
|
||||
|
||||
|
||||
public partial class aspnet_literal {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// Literal1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal Literal1;
|
||||
|
||||
/// <summary>
|
||||
/// Literal2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal Literal2;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
}
|
||||
}
|
||||
|
@ -1,198 +1,198 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Text;
|
||||
|
||||
|
||||
namespace CaptchaImage
|
||||
{
|
||||
/// <summary>
|
||||
/// 这个生成验证码图片的代码来自:http://www.codeproject.com/KB/aspnet/CaptchaImage.aspx
|
||||
/// </summary>
|
||||
public class CaptchaImage
|
||||
{
|
||||
// Public properties (all read-only).
|
||||
public string Text
|
||||
{
|
||||
get { return this.text; }
|
||||
}
|
||||
public Bitmap Image
|
||||
{
|
||||
get { return this.image; }
|
||||
}
|
||||
public int Width
|
||||
{
|
||||
get { return this.width; }
|
||||
}
|
||||
public int Height
|
||||
{
|
||||
get { return this.height; }
|
||||
}
|
||||
|
||||
// Internal properties.
|
||||
private string text;
|
||||
private int width;
|
||||
private int height;
|
||||
private string familyName;
|
||||
private Bitmap image;
|
||||
|
||||
// For generating random numbers.
|
||||
private Random random = new Random();
|
||||
|
||||
// ====================================================================
|
||||
// Initializes a new instance of the CaptchaImage class using the
|
||||
// specified text, width and height.
|
||||
// ====================================================================
|
||||
public CaptchaImage(string s, int width, int height)
|
||||
{
|
||||
this.text = s;
|
||||
this.SetDimensions(width, height);
|
||||
this.GenerateImage();
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// Initializes a new instance of the CaptchaImage class using the
|
||||
// specified text, width, height and font family.
|
||||
// ====================================================================
|
||||
public CaptchaImage(string s, int width, int height, string familyName)
|
||||
{
|
||||
this.text = s;
|
||||
this.SetDimensions(width, height);
|
||||
this.SetFamilyName(familyName);
|
||||
this.GenerateImage();
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// This member overrides Object.Finalize.
|
||||
// ====================================================================
|
||||
~CaptchaImage()
|
||||
{
|
||||
Dispose(false);
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// Releases all resources used by this object.
|
||||
// ====================================================================
|
||||
public void Dispose()
|
||||
{
|
||||
GC.SuppressFinalize(this);
|
||||
this.Dispose(true);
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// Custom Dispose method to clean up unmanaged resources.
|
||||
// ====================================================================
|
||||
protected virtual void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
// Dispose of the bitmap.
|
||||
this.image.Dispose();
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// Sets the image width and height.
|
||||
// ====================================================================
|
||||
private void SetDimensions(int width, int height)
|
||||
{
|
||||
// Check the width and height.
|
||||
if (width <= 0)
|
||||
throw new ArgumentOutOfRangeException("width", width, "Argument out of range, must be greater than zero.");
|
||||
if (height <= 0)
|
||||
throw new ArgumentOutOfRangeException("height", height, "Argument out of range, must be greater than zero.");
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// Sets the font used for the image text.
|
||||
// ====================================================================
|
||||
private void SetFamilyName(string familyName)
|
||||
{
|
||||
// If the named font is not installed, default to a system font.
|
||||
try
|
||||
{
|
||||
Font font = new Font(this.familyName, 13F);
|
||||
this.familyName = familyName;
|
||||
font.Dispose();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
this.familyName = System.Drawing.FontFamily.GenericSerif.Name;
|
||||
}
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// Creates the bitmap image.
|
||||
// ====================================================================
|
||||
private void GenerateImage()
|
||||
{
|
||||
// Create a new 32-bit bitmap image.
|
||||
Bitmap bitmap = new Bitmap(this.width, this.height, PixelFormat.Format32bppArgb);
|
||||
|
||||
// Create a graphics object for drawing.
|
||||
Graphics g = Graphics.FromImage(bitmap);
|
||||
g.SmoothingMode = SmoothingMode.AntiAlias;
|
||||
Rectangle rect = new Rectangle(0, 0, this.width, this.height);
|
||||
|
||||
// Fill in the background.
|
||||
HatchBrush hatchBrush = new HatchBrush(HatchStyle.SmallConfetti, Color.LightGray, Color.White);
|
||||
g.FillRectangle(hatchBrush, rect);
|
||||
|
||||
// Set up the text font.
|
||||
SizeF size;
|
||||
float fontSize = rect.Height + 1;
|
||||
Font font;
|
||||
// Adjust the font size until the text fits within the image.
|
||||
do
|
||||
{
|
||||
fontSize--;
|
||||
font = new Font(this.familyName, fontSize, FontStyle.Bold);
|
||||
size = g.MeasureString(this.text, font);
|
||||
} while (size.Width > rect.Width);
|
||||
|
||||
// Set up the text format.
|
||||
StringFormat format = new StringFormat();
|
||||
format.Alignment = StringAlignment.Center;
|
||||
format.LineAlignment = StringAlignment.Center;
|
||||
|
||||
// Create a path using the text and warp it randomly.
|
||||
GraphicsPath path = new GraphicsPath();
|
||||
path.AddString(this.text, font.FontFamily, (int)font.Style, font.Size, rect, format);
|
||||
float v = 8F;
|
||||
PointF[] points =
|
||||
{
|
||||
new PointF(this.random.Next(rect.Width) / v, this.random.Next(rect.Height) / v),
|
||||
new PointF(rect.Width - this.random.Next(rect.Width) / v, this.random.Next(rect.Height) / v),
|
||||
new PointF(this.random.Next(rect.Width) / v, rect.Height - this.random.Next(rect.Height) / v),
|
||||
new PointF(rect.Width - this.random.Next(rect.Width) / v, rect.Height - this.random.Next(rect.Height) / v)
|
||||
};
|
||||
Matrix matrix = new Matrix();
|
||||
matrix.Translate(0F, 0F);
|
||||
path.Warp(points, rect, matrix, WarpMode.Perspective, 0F);
|
||||
|
||||
// Draw the text.
|
||||
hatchBrush = new HatchBrush(HatchStyle.LargeConfetti, Color.Green, Color.DarkGray);
|
||||
g.FillPath(hatchBrush, path);
|
||||
|
||||
// Add some random noise.
|
||||
int m = Math.Max(rect.Width, rect.Height);
|
||||
for (int i = 0; i < (int)(rect.Width * rect.Height / 30F); i++)
|
||||
{
|
||||
int x = this.random.Next(rect.Width);
|
||||
int y = this.random.Next(rect.Height);
|
||||
int w = this.random.Next(m / 50);
|
||||
int h = this.random.Next(m / 50);
|
||||
g.FillEllipse(hatchBrush, x, y, w, h);
|
||||
}
|
||||
|
||||
// Clean up.
|
||||
font.Dispose();
|
||||
hatchBrush.Dispose();
|
||||
g.Dispose();
|
||||
|
||||
// Set the image.
|
||||
this.image = bitmap;
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Text;
|
||||
|
||||
|
||||
namespace CaptchaImage
|
||||
{
|
||||
/// <summary>
|
||||
/// 这个生成验证码图片的代码来自:http://www.codeproject.com/KB/aspnet/CaptchaImage.aspx
|
||||
/// </summary>
|
||||
public class CaptchaImage
|
||||
{
|
||||
// Public properties (all read-only).
|
||||
public string Text
|
||||
{
|
||||
get { return this.text; }
|
||||
}
|
||||
public Bitmap Image
|
||||
{
|
||||
get { return this.image; }
|
||||
}
|
||||
public int Width
|
||||
{
|
||||
get { return this.width; }
|
||||
}
|
||||
public int Height
|
||||
{
|
||||
get { return this.height; }
|
||||
}
|
||||
|
||||
// Internal properties.
|
||||
private string text;
|
||||
private int width;
|
||||
private int height;
|
||||
private string familyName;
|
||||
private Bitmap image;
|
||||
|
||||
// For generating random numbers.
|
||||
private Random random = new Random();
|
||||
|
||||
// ====================================================================
|
||||
// Initializes a new instance of the CaptchaImage class using the
|
||||
// specified text, width and height.
|
||||
// ====================================================================
|
||||
public CaptchaImage(string s, int width, int height)
|
||||
{
|
||||
this.text = s;
|
||||
this.SetDimensions(width, height);
|
||||
this.GenerateImage();
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// Initializes a new instance of the CaptchaImage class using the
|
||||
// specified text, width, height and font family.
|
||||
// ====================================================================
|
||||
public CaptchaImage(string s, int width, int height, string familyName)
|
||||
{
|
||||
this.text = s;
|
||||
this.SetDimensions(width, height);
|
||||
this.SetFamilyName(familyName);
|
||||
this.GenerateImage();
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// This member overrides Object.Finalize.
|
||||
// ====================================================================
|
||||
~CaptchaImage()
|
||||
{
|
||||
Dispose(false);
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// Releases all resources used by this object.
|
||||
// ====================================================================
|
||||
public void Dispose()
|
||||
{
|
||||
GC.SuppressFinalize(this);
|
||||
this.Dispose(true);
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// Custom Dispose method to clean up unmanaged resources.
|
||||
// ====================================================================
|
||||
protected virtual void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
// Dispose of the bitmap.
|
||||
this.image.Dispose();
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// Sets the image width and height.
|
||||
// ====================================================================
|
||||
private void SetDimensions(int width, int height)
|
||||
{
|
||||
// Check the width and height.
|
||||
if (width <= 0)
|
||||
throw new ArgumentOutOfRangeException("width", width, "Argument out of range, must be greater than zero.");
|
||||
if (height <= 0)
|
||||
throw new ArgumentOutOfRangeException("height", height, "Argument out of range, must be greater than zero.");
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// Sets the font used for the image text.
|
||||
// ====================================================================
|
||||
private void SetFamilyName(string familyName)
|
||||
{
|
||||
// If the named font is not installed, default to a system font.
|
||||
try
|
||||
{
|
||||
Font font = new Font(this.familyName, 13F);
|
||||
this.familyName = familyName;
|
||||
font.Dispose();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
this.familyName = System.Drawing.FontFamily.GenericSerif.Name;
|
||||
}
|
||||
}
|
||||
|
||||
// ====================================================================
|
||||
// Creates the bitmap image.
|
||||
// ====================================================================
|
||||
private void GenerateImage()
|
||||
{
|
||||
// Create a new 32-bit bitmap image.
|
||||
Bitmap bitmap = new Bitmap(this.width, this.height, PixelFormat.Format32bppArgb);
|
||||
|
||||
// Create a graphics object for drawing.
|
||||
Graphics g = Graphics.FromImage(bitmap);
|
||||
g.SmoothingMode = SmoothingMode.AntiAlias;
|
||||
Rectangle rect = new Rectangle(0, 0, this.width, this.height);
|
||||
|
||||
// Fill in the background.
|
||||
HatchBrush hatchBrush = new HatchBrush(HatchStyle.SmallConfetti, Color.LightGray, Color.White);
|
||||
g.FillRectangle(hatchBrush, rect);
|
||||
|
||||
// Set up the text font.
|
||||
SizeF size;
|
||||
float fontSize = rect.Height + 1;
|
||||
Font font;
|
||||
// Adjust the font size until the text fits within the image.
|
||||
do
|
||||
{
|
||||
fontSize--;
|
||||
font = new Font(this.familyName, fontSize, FontStyle.Bold);
|
||||
size = g.MeasureString(this.text, font);
|
||||
} while (size.Width > rect.Width);
|
||||
|
||||
// Set up the text format.
|
||||
StringFormat format = new StringFormat();
|
||||
format.Alignment = StringAlignment.Center;
|
||||
format.LineAlignment = StringAlignment.Center;
|
||||
|
||||
// Create a path using the text and warp it randomly.
|
||||
GraphicsPath path = new GraphicsPath();
|
||||
path.AddString(this.text, font.FontFamily, (int)font.Style, font.Size, rect, format);
|
||||
float v = 8F;
|
||||
PointF[] points =
|
||||
{
|
||||
new PointF(this.random.Next(rect.Width) / v, this.random.Next(rect.Height) / v),
|
||||
new PointF(rect.Width - this.random.Next(rect.Width) / v, this.random.Next(rect.Height) / v),
|
||||
new PointF(this.random.Next(rect.Width) / v, rect.Height - this.random.Next(rect.Height) / v),
|
||||
new PointF(rect.Width - this.random.Next(rect.Width) / v, rect.Height - this.random.Next(rect.Height) / v)
|
||||
};
|
||||
Matrix matrix = new Matrix();
|
||||
matrix.Translate(0F, 0F);
|
||||
path.Warp(points, rect, matrix, WarpMode.Perspective, 0F);
|
||||
|
||||
// Draw the text.
|
||||
hatchBrush = new HatchBrush(HatchStyle.LargeConfetti, Color.Green, Color.DarkGray);
|
||||
g.FillPath(hatchBrush, path);
|
||||
|
||||
// Add some random noise.
|
||||
int m = Math.Max(rect.Width, rect.Height);
|
||||
for (int i = 0; i < (int)(rect.Width * rect.Height / 30F); i++)
|
||||
{
|
||||
int x = this.random.Next(rect.Width);
|
||||
int y = this.random.Next(rect.Height);
|
||||
int w = this.random.Next(m / 50);
|
||||
int h = this.random.Next(m / 50);
|
||||
g.FillEllipse(hatchBrush, x, y, w, h);
|
||||
}
|
||||
|
||||
// Clean up.
|
||||
font.Dispose();
|
||||
hatchBrush.Dispose();
|
||||
g.Dispose();
|
||||
|
||||
// Set the image.
|
||||
this.image = bitmap;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
<%@ WebHandler Language="C#" CodeBehind="captcha.ashx.cs" Class="FineUI.Examples.basic.Captcha.captcha" %>
|
||||
<%@ WebHandler Language="C#" CodeBehind="captcha.ashx.cs" Class="FineUI.Examples.basic.Captcha.captcha" %>
|
||||
|
@ -1,53 +1,53 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.Services;
|
||||
using System.Web.SessionState;
|
||||
using System.Drawing.Imaging;
|
||||
|
||||
namespace FineUI.Examples.basic.Captcha
|
||||
{
|
||||
/// <summary>
|
||||
/// 生成验证码图片
|
||||
/// </summary>
|
||||
[WebService(Namespace = "http://tempuri.org/")]
|
||||
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
|
||||
public class captcha : IHttpHandler, IReadOnlySessionState
|
||||
{
|
||||
|
||||
public void ProcessRequest(HttpContext context)
|
||||
{
|
||||
int width = 200;
|
||||
int height = 30;
|
||||
|
||||
try
|
||||
{
|
||||
width = Convert.ToInt32(context.Request.QueryString["w"]);
|
||||
height = Convert.ToInt32(context.Request.QueryString["h"]);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// Nothing
|
||||
}
|
||||
|
||||
// 从 Session 中读取验证码,并创建图片
|
||||
CaptchaImage.CaptchaImage ci = new CaptchaImage.CaptchaImage(context.Session["CaptchaImageText"].ToString(), width, height, "Consolas");
|
||||
|
||||
// 输出图片
|
||||
context.Response.Clear();
|
||||
context.Response.ContentType = "image/jpeg";
|
||||
|
||||
ci.Image.Save(context.Response.OutputStream, ImageFormat.Jpeg);
|
||||
|
||||
ci.Dispose();
|
||||
}
|
||||
|
||||
public bool IsReusable
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.Services;
|
||||
using System.Web.SessionState;
|
||||
using System.Drawing.Imaging;
|
||||
|
||||
namespace FineUI.Examples.basic.Captcha
|
||||
{
|
||||
/// <summary>
|
||||
/// 生成验证码图片
|
||||
/// </summary>
|
||||
[WebService(Namespace = "http://tempuri.org/")]
|
||||
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
|
||||
public class captcha : IHttpHandler, IReadOnlySessionState
|
||||
{
|
||||
|
||||
public void ProcessRequest(HttpContext context)
|
||||
{
|
||||
int width = 200;
|
||||
int height = 30;
|
||||
|
||||
try
|
||||
{
|
||||
width = Convert.ToInt32(context.Request.QueryString["w"]);
|
||||
height = Convert.ToInt32(context.Request.QueryString["h"]);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// Nothing
|
||||
}
|
||||
|
||||
// 从 Session 中读取验证码,并创建图片
|
||||
CaptchaImage.CaptchaImage ci = new CaptchaImage.CaptchaImage(context.Session["CaptchaImageText"].ToString(), width, height, "Consolas");
|
||||
|
||||
// 输出图片
|
||||
context.Response.Clear();
|
||||
context.Response.ContentType = "image/jpeg";
|
||||
|
||||
ci.Image.Save(context.Response.OutputStream, ImageFormat.Jpeg);
|
||||
|
||||
ci.Dispose();
|
||||
}
|
||||
|
||||
public bool IsReusable
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,19 +1,20 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="hello.aspx.cs" Inherits="FineUI.Examples.basic.hello" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" runat="server" />
|
||||
<x:Button Text="点击弹出对话框" runat="server" ID="btnHello" OnClick="btnHello_Click">
|
||||
</x:Button>
|
||||
<br />
|
||||
<x:Button Text="在顶层窗口弹出对话框" runat="server" ID="btnHello2" OnClick="btnHello2_Click">
|
||||
</x:Button>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="hello.aspx.cs" Inherits="FineUI.Examples.basic.hello" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
<f:Button Text="点击弹出对话框" runat="server" ID="btnHello" OnClick="btnHello_Click">
|
||||
</f:Button>
|
||||
<br />
|
||||
<br />
|
||||
<f:Button Text="在顶层窗口弹出对话框" runat="server" ID="btnHello2" OnClick="btnHello2_Click">
|
||||
</f:Button>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,26 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.basic
|
||||
{
|
||||
public partial class hello : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnHello_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.Show("你好 FineUI!", MessageBoxIcon.Warning);
|
||||
}
|
||||
|
||||
protected void btnHello2_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop("你好 FineUI!", MessageBoxIcon.Information);
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.basic
|
||||
{
|
||||
public partial class hello : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnHello_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.Show("你好 FineUI!", MessageBoxIcon.Warning);
|
||||
}
|
||||
|
||||
protected void btnHello2_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop("你好 FineUI!", MessageBoxIcon.Information);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
102
FineUI.Examples/basic/hello.aspx.designer.cs
generated
102
FineUI.Examples/basic/hello.aspx.designer.cs
generated
@ -1,51 +1,51 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.basic {
|
||||
|
||||
|
||||
public partial class hello {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// btnHello 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnHello;
|
||||
|
||||
/// <summary>
|
||||
/// btnHello2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnHello2;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.basic {
|
||||
|
||||
|
||||
public partial class hello {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// btnHello 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnHello;
|
||||
|
||||
/// <summary>
|
||||
/// btnHello2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnHello2;
|
||||
}
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="hello_aspnet.aspx.cs" Inherits="FineUI.Examples.basic.hello_aspnet" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<asp:Button Text="点击弹出对话框" runat="server" ID="btnHello" OnClick="btnHello_Click" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="hello_aspnet.aspx.cs" Inherits="FineUI.Examples.basic.hello_aspnet" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<asp:Button Text="点击弹出对话框" runat="server" ID="btnHello" OnClick="btnHello_Click" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,21 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.basic
|
||||
{
|
||||
public partial class hello_aspnet : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnHello_Click(object sender, EventArgs e)
|
||||
{
|
||||
Page.ClientScript.RegisterStartupScript(this.GetType(), "alert_hello", "alert('你好 Asp.Net!');", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.basic
|
||||
{
|
||||
public partial class hello_aspnet : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnHello_Click(object sender, EventArgs e)
|
||||
{
|
||||
Page.ClientScript.RegisterStartupScript(this.GetType(), "alert_hello", "alert('你好 Asp.Net!');", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
66
FineUI.Examples/basic/hello_aspnet.aspx.designer.cs
generated
66
FineUI.Examples/basic/hello_aspnet.aspx.designer.cs
generated
@ -1,33 +1,33 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.basic {
|
||||
|
||||
|
||||
public partial class hello_aspnet {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// btnHello 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnHello;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.basic {
|
||||
|
||||
|
||||
public partial class hello_aspnet {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// btnHello 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnHello;
|
||||
}
|
||||
}
|
||||
|
@ -1,42 +1,47 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login.aspx.cs" Inherits="FineUI.Examples.basic.login" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" runat="server" />
|
||||
用户名:admin
|
||||
<br />
|
||||
密码:admin
|
||||
<br />
|
||||
注意:在任意文本输入框内按回车键,都会触发按钮(Type="Submit")的表单提交事件。
|
||||
<x:Window ID="Window1" runat="server" Title="登录表单" IsModal="false" EnableClose="false"
|
||||
WindowPosition="GoldenSection" Width="350px" FooterBarAlign="Right">
|
||||
<Items>
|
||||
<x:SimpleForm ID="SimpleForm1" runat="server" ShowBorder="false" BodyPadding="10px"
|
||||
LabelWidth="60px" ShowHeader="false">
|
||||
<Items>
|
||||
<x:TextBox ID="tbxUserName" Label="用户名" Required="true" runat="server">
|
||||
</x:TextBox>
|
||||
<x:TextBox ID="tbxPassword" Label="密码" TextMode="Password" Required="true" runat="server">
|
||||
</x:TextBox>
|
||||
</Items>
|
||||
</x:SimpleForm>
|
||||
</Items>
|
||||
<Toolbars>
|
||||
<x:Toolbar ID="Toolbar1" runat="server" Position="Footer">
|
||||
<Items>
|
||||
<x:Button ID="btnLogin" Text="登录" Type="Submit" ValidateForms="SimpleForm1" ValidateTarget="Top"
|
||||
runat="server" OnClick="btnLogin_Click">
|
||||
</x:Button>
|
||||
</Items>
|
||||
</x:Toolbar>
|
||||
</Toolbars>
|
||||
</x:Window>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login.aspx.cs" Inherits="FineUI.Examples.basic.login" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
用户名:admin
|
||||
<br />
|
||||
密码:admin
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
注意:在任意输入框内按回车键都会触发表单的提交(相当于点击【登陆】按钮)。
|
||||
<f:Window ID="Window1" runat="server" Title="登录表单" IsModal="false" EnableClose="false"
|
||||
WindowPosition="GoldenSection" Width="350px">
|
||||
<Items>
|
||||
<f:SimpleForm ID="SimpleForm1" runat="server" ShowBorder="false" BodyPadding="10px"
|
||||
LabelWidth="60px" ShowHeader="false">
|
||||
<Items>
|
||||
<f:TextBox ID="tbxUserName" Label="用户名" Required="true" runat="server">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="tbxPassword" Label="密码" TextMode="Password" Required="true" runat="server">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:SimpleForm>
|
||||
</Items>
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" runat="server" ToolbarAlign="Right" Position="Bottom">
|
||||
<Items>
|
||||
<f:Button ID="btnLogin" Text="登录" Type="Submit" ValidateForms="SimpleForm1" ValidateTarget="Top"
|
||||
runat="server" OnClick="btnLogin_Click">
|
||||
</f:Button>
|
||||
<f:Button ID="btnReset" Text="重置" Type="Reset" EnablePostBack="false"
|
||||
runat="server">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
</f:Window>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,31 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.basic
|
||||
{
|
||||
public partial class login : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnLogin_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (tbxUserName.Text == "admin" && tbxPassword.Text == "admin")
|
||||
{
|
||||
Alert.ShowInTop("成功登录!");
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("用户名或密码错误!", MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.basic
|
||||
{
|
||||
public partial class login : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnLogin_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (tbxUserName.Text == "admin" && tbxPassword.Text == "admin")
|
||||
{
|
||||
Alert.ShowInTop("成功登录!");
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("用户名或密码错误!", MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
183
FineUI.Examples/basic/login.aspx.designer.cs
generated
183
FineUI.Examples/basic/login.aspx.designer.cs
generated
@ -1,87 +1,96 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.basic {
|
||||
|
||||
|
||||
public partial class login {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Window Window1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.SimpleForm SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// tbxUserName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox tbxUserName;
|
||||
|
||||
/// <summary>
|
||||
/// tbxPassword 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox tbxPassword;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// btnLogin 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnLogin;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.basic {
|
||||
|
||||
|
||||
public partial class login {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Window Window1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.SimpleForm SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// tbxUserName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox tbxUserName;
|
||||
|
||||
/// <summary>
|
||||
/// tbxPassword 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox tbxPassword;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// btnLogin 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnLogin;
|
||||
|
||||
/// <summary>
|
||||
/// btnReset 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnReset;
|
||||
}
|
||||
}
|
||||
|
@ -1,55 +1,58 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login_captcha.aspx.cs"
|
||||
Inherits="FineUI.Examples.basic.login_captcha" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" runat="server" />
|
||||
用户名:admin
|
||||
<br />
|
||||
密码:admin
|
||||
<br />
|
||||
<br />
|
||||
<x:Window ID="Window1" runat="server" Title="登录表单" IsModal="false" EnableClose="false"
|
||||
WindowPosition="GoldenSection" Width="350px">
|
||||
<Items>
|
||||
<x:SimpleForm ID="SimpleForm1" runat="server" ShowBorder="false" BodyPadding="10px"
|
||||
LabelWidth="60px" ShowHeader="false">
|
||||
<Items>
|
||||
<x:TextBox ID="tbxUserName" Label="用户名" Required="true" runat="server">
|
||||
</x:TextBox>
|
||||
<x:TextBox ID="tbxPassword" Label="密码" TextMode="Password" Required="true" runat="server">
|
||||
</x:TextBox>
|
||||
<x:TextBox ID="tbxCaptcha" Label="验证码" Required="true" runat="server">
|
||||
</x:TextBox>
|
||||
<x:Panel CssStyle="padding-left:65px;" ShowBorder="false" ShowHeader="false"
|
||||
runat="server">
|
||||
<Items>
|
||||
<x:Image ID="imgCaptcha" CssStyle="float:left;width:160px;" runat="server" ShowEmptyLabel="true">
|
||||
</x:Image>
|
||||
<x:LinkButton CssStyle="float:left;padding-top:8px;" ID="btnRefresh" Text="看不清?"
|
||||
runat="server" OnClick="btnRefresh_Click">
|
||||
</x:LinkButton>
|
||||
</Items>
|
||||
</x:Panel>
|
||||
</Items>
|
||||
</x:SimpleForm>
|
||||
</Items>
|
||||
<Toolbars>
|
||||
<x:Toolbar ID="Toolbar1" runat="server" Position="Footer">
|
||||
<Items>
|
||||
<x:Button ID="btnLogin" Text="登录" Type="Submit" ValidateForms="SimpleForm1" ValidateTarget="Top"
|
||||
runat="server" OnClick="btnLogin_Click">
|
||||
</x:Button>
|
||||
</Items>
|
||||
</x:Toolbar>
|
||||
</Toolbars>
|
||||
</x:Window>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login_captcha.aspx.cs"
|
||||
Inherits="FineUI.Examples.basic.login_captcha" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
用户名:admin
|
||||
<br />
|
||||
密码:admin
|
||||
<br />
|
||||
<br />
|
||||
<f:Window ID="Window1" runat="server" Title="登录表单" IsModal="false" EnableClose="false"
|
||||
WindowPosition="GoldenSection" Width="350px">
|
||||
<Items>
|
||||
<f:SimpleForm ID="SimpleForm1" runat="server" ShowBorder="false" BodyPadding="10px"
|
||||
LabelWidth="60px" ShowHeader="false">
|
||||
<Items>
|
||||
<f:TextBox ID="tbxUserName" Label="用户名" Required="true" runat="server">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="tbxPassword" Label="密码" TextMode="Password" Required="true" runat="server">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="tbxCaptcha" Label="验证码" Required="true" runat="server">
|
||||
</f:TextBox>
|
||||
<f:Panel CssStyle="padding-left:65px;" ShowBorder="false" ShowHeader="false"
|
||||
runat="server">
|
||||
<Items>
|
||||
<f:Image ID="imgCaptcha" CssStyle="float:left;width:160px;" runat="server">
|
||||
</f:Image>
|
||||
<f:LinkButton CssStyle="float:left;margin-top:8px;" ID="btnRefresh" Text="看不清?"
|
||||
runat="server" OnClick="btnRefresh_Click">
|
||||
</f:LinkButton>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</Items>
|
||||
</f:SimpleForm>
|
||||
</Items>
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" runat="server" ToolbarAlign="Right" Position="Bottom">
|
||||
<Items>
|
||||
<f:Button ID="btnLogin" Text="登录" Type="Submit" ValidateForms="SimpleForm1" ValidateTarget="Top"
|
||||
runat="server" OnClick="btnLogin_Click">
|
||||
</f:Button>
|
||||
<f:Button ID="btnReset" Text="重置" Type="Reset" EnablePostBack="false"
|
||||
runat="server">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
</f:Window>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,76 +1,76 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.basic
|
||||
{
|
||||
public partial class login_captcha : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
LoadData();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void LoadData()
|
||||
{
|
||||
InitCaptchaCode();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 初始化验证码
|
||||
/// </summary>
|
||||
private void InitCaptchaCode()
|
||||
{
|
||||
// 创建一个 6 位的随机数并保存在 Session 对象中
|
||||
Session["CaptchaImageText"] = GenerateRandomCode();
|
||||
imgCaptcha.ImageUrl = "~/basic/captcha/captcha.ashx?w=150&h=30&t=" + DateTime.Now.Ticks;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建一个 6 位的随机数
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private string GenerateRandomCode()
|
||||
{
|
||||
string s = String.Empty;
|
||||
Random random = new Random();
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
s += random.Next(10).ToString();
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
protected void btnRefresh_Click(object sender, EventArgs e)
|
||||
{
|
||||
InitCaptchaCode();
|
||||
}
|
||||
|
||||
protected void btnLogin_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (tbxCaptcha.Text != Session["CaptchaImageText"].ToString())
|
||||
{
|
||||
Alert.ShowInTop("验证码错误!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (tbxUserName.Text == "admin" && tbxPassword.Text == "admin")
|
||||
{
|
||||
Alert.ShowInTop("成功登录!");
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("用户名或密码错误!", MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.basic
|
||||
{
|
||||
public partial class login_captcha : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
LoadData();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void LoadData()
|
||||
{
|
||||
InitCaptchaCode();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 初始化验证码
|
||||
/// </summary>
|
||||
private void InitCaptchaCode()
|
||||
{
|
||||
// 创建一个 6 位的随机数并保存在 Session 对象中
|
||||
Session["CaptchaImageText"] = GenerateRandomCode();
|
||||
imgCaptcha.ImageUrl = "~/basic/captcha/captcha.ashx?w=150&h=30&t=" + DateTime.Now.Ticks;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建一个 6 位的随机数
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private string GenerateRandomCode()
|
||||
{
|
||||
string s = String.Empty;
|
||||
Random random = new Random();
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
s += random.Next(10).ToString();
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
protected void btnRefresh_Click(object sender, EventArgs e)
|
||||
{
|
||||
InitCaptchaCode();
|
||||
}
|
||||
|
||||
protected void btnLogin_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (tbxCaptcha.Text != Session["CaptchaImageText"].ToString())
|
||||
{
|
||||
Alert.ShowInTop("验证码错误!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (tbxUserName.Text == "admin" && tbxPassword.Text == "admin")
|
||||
{
|
||||
Alert.ShowInTop("成功登录!");
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("用户名或密码错误!", MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
237
FineUI.Examples/basic/login_captcha.aspx.designer.cs
generated
237
FineUI.Examples/basic/login_captcha.aspx.designer.cs
generated
@ -1,114 +1,123 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.basic {
|
||||
|
||||
|
||||
public partial class login_captcha {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Window Window1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.SimpleForm SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// tbxUserName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox tbxUserName;
|
||||
|
||||
/// <summary>
|
||||
/// tbxPassword 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox tbxPassword;
|
||||
|
||||
/// <summary>
|
||||
/// tbxCaptcha 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox tbxCaptcha;
|
||||
|
||||
/// <summary>
|
||||
/// imgCaptcha 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Image imgCaptcha;
|
||||
|
||||
/// <summary>
|
||||
/// btnRefresh 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.LinkButton btnRefresh;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// btnLogin 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnLogin;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.basic {
|
||||
|
||||
|
||||
public partial class login_captcha {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Window Window1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.SimpleForm SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// tbxUserName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox tbxUserName;
|
||||
|
||||
/// <summary>
|
||||
/// tbxPassword 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox tbxPassword;
|
||||
|
||||
/// <summary>
|
||||
/// tbxCaptcha 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox tbxCaptcha;
|
||||
|
||||
/// <summary>
|
||||
/// imgCaptcha 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Image imgCaptcha;
|
||||
|
||||
/// <summary>
|
||||
/// btnRefresh 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.LinkButton btnRefresh;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// btnLogin 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnLogin;
|
||||
|
||||
/// <summary>
|
||||
/// btnReset 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnReset;
|
||||
}
|
||||
}
|
||||
|
47
FineUI.Examples/basic/login_enterkey.aspx
Normal file
47
FineUI.Examples/basic/login_enterkey.aspx
Normal file
@ -0,0 +1,47 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login_enterkey.aspx.cs" Inherits="FineUI.Examples.basic.login_enterkey" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
用户名:admin
|
||||
<br />
|
||||
密码:admin
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
注意:在表单内按回车键会导航到下一个控件。
|
||||
<f:Window ID="Window1" runat="server" Title="登录表单" IsModal="false" EnableClose="false"
|
||||
WindowPosition="GoldenSection" Width="350px">
|
||||
<Items>
|
||||
<f:SimpleForm ID="SimpleForm1" runat="server" ShowBorder="false" BodyPadding="10px"
|
||||
LabelWidth="60px" ShowHeader="false">
|
||||
<Items>
|
||||
<f:TextBox ID="tbxUserName" Label="用户名" Required="true" runat="server" NextFocusControl="tbxPassword">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="tbxPassword" Label="密码" TextMode="Password" Required="true" runat="server" NextFocusControl="btnLogin">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:SimpleForm>
|
||||
</Items>
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" runat="server" ToolbarAlign="Right" Position="Bottom">
|
||||
<Items>
|
||||
<f:Button ID="btnLogin" Text="登录" Type="Button" ValidateForms="SimpleForm1" ValidateTarget="Top"
|
||||
runat="server" OnClick="btnLogin_Click">
|
||||
</f:Button>
|
||||
<f:Button ID="btnReset" Text="重置" Type="Reset" EnablePostBack="false"
|
||||
runat="server">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
</f:Window>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
31
FineUI.Examples/basic/login_enterkey.aspx.cs
Normal file
31
FineUI.Examples/basic/login_enterkey.aspx.cs
Normal file
@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples.basic
|
||||
{
|
||||
public partial class login_enterkey : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnLogin_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (tbxUserName.Text == "admin" && tbxPassword.Text == "admin")
|
||||
{
|
||||
Alert.ShowInTop("成功登录!");
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("用户名或密码错误!", MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
96
FineUI.Examples/basic/login_enterkey.aspx.designer.cs
generated
Normal file
96
FineUI.Examples/basic/login_enterkey.aspx.designer.cs
generated
Normal file
@ -0,0 +1,96 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.basic {
|
||||
|
||||
|
||||
public partial class login_enterkey {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Window Window1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.SimpleForm SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// tbxUserName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox tbxUserName;
|
||||
|
||||
/// <summary>
|
||||
/// tbxPassword 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TextBox tbxPassword;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// btnLogin 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnLogin;
|
||||
|
||||
/// <summary>
|
||||
/// btnReset 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnReset;
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,40 +1,40 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button.aspx.cs" Inherits="FineUI.Examples.button.button" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
.redbutton button
|
||||
{
|
||||
color: #FF0000;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" runat="server" />
|
||||
<x:Button ID="btnChangeEnable" Text="启用后面的按钮" runat="server" OnClick="btnChangeEnable_Click"
|
||||
CssClass="inline" />
|
||||
<x:Button ID="btnEnable" Text="禁用的按钮" OnClick="btnEnable_Click" runat="server"
|
||||
Enabled="False" />
|
||||
<br />
|
||||
<br />
|
||||
<x:Button ID="btnChangePressed" Text="改变后面按钮的按下状态" runat="server" OnClick="btnChangePressed_Click"
|
||||
CssClass="inline" />
|
||||
<x:Button ID="btnPressed" Text="按下的按钮" runat="server" EnablePress="true" Pressed="true" />
|
||||
<br />
|
||||
<br />
|
||||
<x:Button ID="btnTooltip" Text="这个按钮有提示信息(点击改变提示信息)" ToolTip="这是按钮的提示信息" OnClick="btnTooltip_Click"
|
||||
runat="server">
|
||||
</x:Button>
|
||||
<br />
|
||||
<br />
|
||||
<x:Button ID="Button1" Text="普通按钮" runat="server" EnablePostBack="false" CssClass="inline" />
|
||||
<x:Button ID="Button2" Text="中等大小按钮" runat="server" Size="Medium" EnablePostBack="false"
|
||||
CssClass="inline" />
|
||||
<x:Button ID="Button3" Text="大按钮" runat="server" Size="Large" EnablePostBack="false" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button.aspx.cs" Inherits="FineUI.Examples.button.button" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
.redbutton button
|
||||
{
|
||||
color: #FF0000;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
<f:Button ID="btnChangeEnable" Text="启用后面的按钮" runat="server" OnClick="btnChangeEnable_Click"
|
||||
CssClass="marginr" />
|
||||
<f:Button ID="btnEnable" Text="禁用的按钮" OnClick="btnEnable_Click" runat="server"
|
||||
Enabled="False" />
|
||||
<br />
|
||||
<br />
|
||||
<f:Button ID="btnChangePressed" Text="改变后面按钮的按下状态" runat="server" OnClick="btnChangePressed_Click"
|
||||
CssClass="marginr" />
|
||||
<f:Button ID="btnPressed" Text="按下的按钮" runat="server" EnablePress="true" Pressed="true" />
|
||||
<br />
|
||||
<br />
|
||||
<f:Button ID="btnTooltip" Text="这个按钮有提示信息(点击改变提示信息)" ToolTip="这是按钮的提示信息" OnClick="btnTooltip_Click"
|
||||
runat="server">
|
||||
</f:Button>
|
||||
<br />
|
||||
<br />
|
||||
<f:Button ID="Button1" Text="普通按钮" runat="server" EnablePostBack="false" CssClass="marginr" />
|
||||
<f:Button ID="Button2" Text="中等大小按钮" runat="server" Size="Medium" EnablePostBack="false"
|
||||
CssClass="marginr" />
|
||||
<f:Button ID="Button3" Text="大按钮" runat="server" Size="Large" EnablePostBack="false" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,46 +1,46 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.button
|
||||
{
|
||||
public partial class button : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnChangeEnable_Click(object sender, EventArgs e)
|
||||
{
|
||||
btnEnable.Enabled = true;
|
||||
btnEnable.Text = "本按钮已经启用(点击弹出对话框)";
|
||||
}
|
||||
|
||||
protected void btnEnable_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop("你点击了刚刚启用的按钮");
|
||||
}
|
||||
|
||||
|
||||
protected void btnTooltip_Click(object sender, EventArgs e)
|
||||
{
|
||||
btnTooltip.ToolTip = "这是改变后的提示信息";
|
||||
}
|
||||
|
||||
|
||||
protected void btnChangePressed_Click(object sender, EventArgs e)
|
||||
{
|
||||
btnPressed.Pressed = !btnPressed.Pressed;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.button
|
||||
{
|
||||
public partial class button : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnChangeEnable_Click(object sender, EventArgs e)
|
||||
{
|
||||
btnEnable.Enabled = true;
|
||||
btnEnable.Text = "本按钮已经启用(点击弹出对话框)";
|
||||
}
|
||||
|
||||
protected void btnEnable_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop("你点击了刚刚启用的按钮");
|
||||
}
|
||||
|
||||
|
||||
protected void btnTooltip_Click(object sender, EventArgs e)
|
||||
{
|
||||
btnTooltip.ToolTip = "这是改变后的提示信息";
|
||||
}
|
||||
|
||||
|
||||
protected void btnChangePressed_Click(object sender, EventArgs e)
|
||||
{
|
||||
btnPressed.Pressed = !btnPressed.Pressed;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
210
FineUI.Examples/button/button.aspx.designer.cs
generated
210
FineUI.Examples/button/button.aspx.designer.cs
generated
@ -1,105 +1,105 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.button {
|
||||
|
||||
|
||||
public partial class button {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// btnChangeEnable 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnChangeEnable;
|
||||
|
||||
/// <summary>
|
||||
/// btnEnable 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnEnable;
|
||||
|
||||
/// <summary>
|
||||
/// btnChangePressed 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnChangePressed;
|
||||
|
||||
/// <summary>
|
||||
/// btnPressed 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnPressed;
|
||||
|
||||
/// <summary>
|
||||
/// btnTooltip 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnTooltip;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// Button2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button2;
|
||||
|
||||
/// <summary>
|
||||
/// Button3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button3;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.button {
|
||||
|
||||
|
||||
public partial class button {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// btnChangeEnable 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnChangeEnable;
|
||||
|
||||
/// <summary>
|
||||
/// btnEnable 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnEnable;
|
||||
|
||||
/// <summary>
|
||||
/// btnChangePressed 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnChangePressed;
|
||||
|
||||
/// <summary>
|
||||
/// btnPressed 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnPressed;
|
||||
|
||||
/// <summary>
|
||||
/// btnTooltip 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnTooltip;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// Button2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button2;
|
||||
|
||||
/// <summary>
|
||||
/// Button3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button3;
|
||||
}
|
||||
}
|
||||
|
@ -1,25 +1,25 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button_click.aspx.cs" Inherits="FineUI.Examples.button.button_click" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" runat="server" />
|
||||
<x:Button ID="btnServerClick" Text="服务器端事件" OnClick="btnServerClick_Click" runat="server">
|
||||
</x:Button>
|
||||
<br />
|
||||
<br />
|
||||
<x:Button ID="btnClientClick" Text="客户端事件" OnClientClick="alert('这是客户端事件');" EnablePostBack="false"
|
||||
CssClass="inline" runat="server">
|
||||
</x:Button>
|
||||
<x:Button ID="btnClientClick2" Text="服务器端生成的客户端事件" EnablePostBack="false" runat="server">
|
||||
</x:Button>
|
||||
<br />
|
||||
<br />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button_click.aspx.cs" Inherits="FineUI.Examples.button.button_click" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
<f:Button ID="btnServerClick" Text="服务器端事件" OnClick="btnServerClick_Click" runat="server">
|
||||
</f:Button>
|
||||
<br />
|
||||
<br />
|
||||
<f:Button ID="btnClientClick" Text="客户端事件" OnClientClick="alert('这是客户端事件');" EnablePostBack="false"
|
||||
CssClass="marginr" runat="server">
|
||||
</f:Button>
|
||||
<f:Button ID="btnClientClick2" Text="服务器端生成的客户端事件" EnablePostBack="false" runat="server">
|
||||
</f:Button>
|
||||
<br />
|
||||
<br />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,29 +1,29 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.button
|
||||
{
|
||||
public partial class button_click : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
btnClientClick2.OnClientClick = Alert.GetShowInTopReference("这是在服务器端生成的客户端事件");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void btnServerClick_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop("这是服务器端事件");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.button
|
||||
{
|
||||
public partial class button_click : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
btnClientClick2.OnClientClick = Alert.GetShowInTopReference("这是在服务器端生成的客户端事件");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void btnServerClick_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop("这是服务器端事件");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
120
FineUI.Examples/button/button_click.aspx.designer.cs
generated
120
FineUI.Examples/button/button_click.aspx.designer.cs
generated
@ -1,60 +1,60 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.button {
|
||||
|
||||
|
||||
public partial class button_click {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// btnServerClick 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnServerClick;
|
||||
|
||||
/// <summary>
|
||||
/// btnClientClick 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnClientClick;
|
||||
|
||||
/// <summary>
|
||||
/// btnClientClick2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnClientClick2;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.button {
|
||||
|
||||
|
||||
public partial class button_click {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// btnServerClick 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnServerClick;
|
||||
|
||||
/// <summary>
|
||||
/// btnClientClick 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnClientClick;
|
||||
|
||||
/// <summary>
|
||||
/// btnClientClick2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnClientClick2;
|
||||
}
|
||||
}
|
||||
|
@ -1,33 +1,36 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button_custom.aspx.cs" Inherits="FineUI.Examples.button.button_custom" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
.bgbtn {
|
||||
background: url(../images/login.png) no-repeat;
|
||||
width: 320px;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.bgbtn .x-btn-tl, .bgbtn .x-btn-tr, .bgbtn .x-btn-tc,
|
||||
.bgbtn .x-btn-ml, .bgbtn .x-btn-mr, .bgbtn .x-btn-mc,
|
||||
.bgbtn .x-btn-bl, .bgbtn .x-btn-br, .bgbtn .x-btn-bc {
|
||||
background-image: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" runat="server" />
|
||||
<x:Button ID="Button1" Text="普通按钮" runat="server" Size="Large" OnClick="Button1_Click" />
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<x:Button ID="Button2" Text="" CssClass="bgbtn" runat="server" OnClick="Button2_Click" />
|
||||
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button_custom.aspx.cs" Inherits="FineUI.Examples.button.button_custom" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
.bgbtn {
|
||||
background-image: url(../res/images/login.png) !important;
|
||||
width: 320px;
|
||||
height: 50px;
|
||||
border-width: 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.bgbtn .x-frame-ml, .bgbtn .x-frame-mc, .bgbtn .x-frame-mr,
|
||||
.bgbtn .x-frame-tl, .bgbtn .x-frame-tc, .bgbtn .x-frame-tr,
|
||||
.bgbtn .x-frame-bl, .bgbtn .x-frame-bc, .bgbtn .x-frame-br {
|
||||
background-image: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
<f:Button ID="Button1" Text="普通按钮" runat="server" Size="Large" OnClick="Button1_Click" />
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<f:Button ID="Button2" Text="" CssClass="bgbtn" runat="server" OnClick="Button2_Click" />
|
||||
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,29 +1,29 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.button
|
||||
{
|
||||
public partial class button_custom : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected void Button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop("点击了普通按钮");
|
||||
}
|
||||
|
||||
protected void Button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop("点击了自定义按钮");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.button
|
||||
{
|
||||
public partial class button_custom : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected void Button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop("点击了普通按钮");
|
||||
}
|
||||
|
||||
protected void Button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop("点击了自定义按钮");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
102
FineUI.Examples/button/button_custom.aspx.designer.cs
generated
102
FineUI.Examples/button/button_custom.aspx.designer.cs
generated
@ -1,51 +1,51 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.button {
|
||||
|
||||
|
||||
public partial class button_custom {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// Button2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button2;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.button {
|
||||
|
||||
|
||||
public partial class button_custom {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// Button2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button2;
|
||||
}
|
||||
}
|
||||
|
@ -1,33 +1,33 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button_icon.aspx.cs" Inherits="FineUI.Examples.button.button_icon" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" runat="server" />
|
||||
<x:Button ID="btnIcon1" Text="图标在左侧" Icon="Report" runat="server" CssClass="inline" />
|
||||
<x:Button ID="btnIcon2" Text="图标在右侧" IconAlign="Right" Icon="Report" runat="server" />
|
||||
<br />
|
||||
<br />
|
||||
<x:Button ID="btnIcon3" Text="图标在上面" IconAlign="Top" Icon="Report" runat="server"
|
||||
CssClass="inline" />
|
||||
<x:Button ID="btnIcon4" Text="图标在下面" IconAlign="Bottom" Icon="Report" runat="server" />
|
||||
<br />
|
||||
<br />
|
||||
<x:Button ID="btnCustomIcon" Text="自定义图标(点击修改图标)" OnClick="btnCustomIcon_Click"
|
||||
IconUrl="~/images/16/1.png" runat="server" />
|
||||
<br />
|
||||
<br />
|
||||
只有图片的按钮:
|
||||
<br />
|
||||
<br />
|
||||
<x:Button ID="Button1" IconUrl="~/images/16/1.png" CssClass="inline" runat="server" />
|
||||
<x:Button ID="Button2" IconUrl="~/images/16/8.png" runat="server" />
|
||||
<br />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button_icon.aspx.cs" Inherits="FineUI.Examples.button.button_icon" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
<f:Button ID="btnIcon1" Text="图标在左侧" Icon="Report" runat="server" CssClass="marginr" />
|
||||
<f:Button ID="btnIcon2" Text="图标在右侧" IconAlign="Right" Icon="Report" runat="server" />
|
||||
<br />
|
||||
<br />
|
||||
<f:Button ID="btnIcon3" Text="图标在上面" IconAlign="Top" Icon="Report" runat="server"
|
||||
CssClass="marginr" />
|
||||
<f:Button ID="btnIcon4" Text="图标在下面" IconAlign="Bottom" Icon="Report" runat="server" />
|
||||
<br />
|
||||
<br />
|
||||
<f:Button ID="btnCustomIcon" Text="自定义图标(点击修改图标)" OnClick="btnCustomIcon_Click"
|
||||
IconUrl="~/res/images/16/1.png" runat="server" />
|
||||
<br />
|
||||
<br />
|
||||
只有图片的按钮:
|
||||
<br />
|
||||
<br />
|
||||
<f:Button ID="Button1" IconUrl="~/res/images/16/1.png" CssClass="marginr" runat="server" />
|
||||
<f:Button ID="Button2" IconUrl="~/res/images/16/8.png" runat="server" />
|
||||
<br />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,21 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.button
|
||||
{
|
||||
public partial class button_icon : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnCustomIcon_Click(object sender, EventArgs e)
|
||||
{
|
||||
btnCustomIcon.IconUrl = "~/images/16/8.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.button
|
||||
{
|
||||
public partial class button_icon : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnCustomIcon_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (btnCustomIcon.IconUrl.EndsWith("1.png"))
|
||||
{
|
||||
btnCustomIcon.IconUrl = "~/res/images/16/8.png";
|
||||
}
|
||||
else
|
||||
{
|
||||
btnCustomIcon.IconUrl = "~/res/images/16/1.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
192
FineUI.Examples/button/button_icon.aspx.designer.cs
generated
192
FineUI.Examples/button/button_icon.aspx.designer.cs
generated
@ -1,96 +1,96 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.button {
|
||||
|
||||
|
||||
public partial class button_icon {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// btnIcon1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnIcon1;
|
||||
|
||||
/// <summary>
|
||||
/// btnIcon2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnIcon2;
|
||||
|
||||
/// <summary>
|
||||
/// btnIcon3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnIcon3;
|
||||
|
||||
/// <summary>
|
||||
/// btnIcon4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnIcon4;
|
||||
|
||||
/// <summary>
|
||||
/// btnCustomIcon 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnCustomIcon;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// Button2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button2;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.button {
|
||||
|
||||
|
||||
public partial class button_icon {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// btnIcon1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnIcon1;
|
||||
|
||||
/// <summary>
|
||||
/// btnIcon2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnIcon2;
|
||||
|
||||
/// <summary>
|
||||
/// btnIcon3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnIcon3;
|
||||
|
||||
/// <summary>
|
||||
/// btnIcon4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnIcon4;
|
||||
|
||||
/// <summary>
|
||||
/// btnCustomIcon 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnCustomIcon;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// Button2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button2;
|
||||
}
|
||||
}
|
||||
|
@ -1,32 +1,32 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button_linkbutton.aspx.cs"
|
||||
Inherits="FineUI.Examples.button.button_linkbutton" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" runat="server" />
|
||||
<x:LinkButton ID="LinkButton2" Text="客户端事件(服务器生成)" EnablePostBack="false" runat="server">
|
||||
</x:LinkButton>
|
||||
<br />
|
||||
<x:LinkButton ID="LinkButton3" Text="服务器端事件" OnClick="LinkButton3_Click" runat="server">
|
||||
</x:LinkButton>
|
||||
<br />
|
||||
<br />
|
||||
<x:LinkButton ID="LinkButton1" Enabled="true" Text="客户端事件(在页面中定义)" EnablePostBack="false"
|
||||
OnClientClick="clickLinkButton();" runat="server">
|
||||
</x:LinkButton>
|
||||
<br />
|
||||
<x:Button ID="btnChangeEnable" Text="启用/禁用最后一个链接按钮" runat="server" OnClick="btnChangeEnable_Click" />
|
||||
</form>
|
||||
<script>
|
||||
function clickLinkButton() {
|
||||
top.X.alert("定义在页面中的客户端事件!");
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button_linkbutton.aspx.cs"
|
||||
Inherits="FineUI.Examples.button.button_linkbutton" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
<f:LinkButton ID="LinkButton2" Text="客户端事件(服务器生成)" EnablePostBack="false" runat="server">
|
||||
</f:LinkButton>
|
||||
<br />
|
||||
<f:LinkButton ID="LinkButton3" Text="服务器端事件" OnClick="LinkButton3_Click" runat="server">
|
||||
</f:LinkButton>
|
||||
<br />
|
||||
<br />
|
||||
<f:LinkButton ID="LinkButton1" Enabled="false" Text="客户端事件(在页面中定义)" EnablePostBack="false"
|
||||
OnClientClick="clickLinkButton();" runat="server">
|
||||
</f:LinkButton>
|
||||
<br />
|
||||
<f:Button ID="btnChangeEnable" Text="启用/禁用最后一个链接按钮" runat="server" OnClick="btnChangeEnable_Click" />
|
||||
</form>
|
||||
<script>
|
||||
function clickLinkButton() {
|
||||
top.F.alert("定义在页面中的客户端事件!");
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,30 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.button
|
||||
{
|
||||
public partial class button_linkbutton : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
LinkButton2.OnClientClick = Alert.GetShowInTopReference("这是在服务器端生成的客户端事件");
|
||||
}
|
||||
}
|
||||
|
||||
protected void LinkButton3_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop("这是服务器端事件");
|
||||
}
|
||||
|
||||
protected void btnChangeEnable_Click(object sender, EventArgs e)
|
||||
{
|
||||
LinkButton1.Enabled = !LinkButton1.Enabled;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.button
|
||||
{
|
||||
public partial class button_linkbutton : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
LinkButton2.OnClientClick = Alert.GetShowInTopReference("这是在服务器端生成的客户端事件");
|
||||
}
|
||||
}
|
||||
|
||||
protected void LinkButton3_Click(object sender, EventArgs e)
|
||||
{
|
||||
Alert.ShowInTop("这是服务器端事件");
|
||||
}
|
||||
|
||||
protected void btnChangeEnable_Click(object sender, EventArgs e)
|
||||
{
|
||||
LinkButton1.Enabled = !LinkButton1.Enabled;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,69 +1,69 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.button {
|
||||
|
||||
|
||||
public partial class button_linkbutton {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// LinkButton2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.LinkButton LinkButton2;
|
||||
|
||||
/// <summary>
|
||||
/// LinkButton3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.LinkButton LinkButton3;
|
||||
|
||||
/// <summary>
|
||||
/// LinkButton1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.LinkButton LinkButton1;
|
||||
|
||||
/// <summary>
|
||||
/// btnChangeEnable 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnChangeEnable;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.button {
|
||||
|
||||
|
||||
public partial class button_linkbutton {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// LinkButton2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.LinkButton LinkButton2;
|
||||
|
||||
/// <summary>
|
||||
/// LinkButton3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.LinkButton LinkButton3;
|
||||
|
||||
/// <summary>
|
||||
/// LinkButton1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.LinkButton LinkButton1;
|
||||
|
||||
/// <summary>
|
||||
/// btnChangeEnable 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnChangeEnable;
|
||||
}
|
||||
}
|
||||
|
@ -1,38 +1,38 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button_menu.aspx.cs" Inherits="FineUI.Examples.button.button_menu" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" runat="server" />
|
||||
<x:Button ID="btnMenu" Text="中国科学技术大学" EnablePostBack="false" runat="server">
|
||||
<Menu runat="server">
|
||||
<x:MenuHyperLink runat="server" Icon="TagGreen" Target="_blank" NavigateUrl="http://scms.ustc.edu.cn/"
|
||||
Text="化学与材料科学学院">
|
||||
</x:MenuHyperLink>
|
||||
<x:MenuHyperLink runat="server" Icon="TagBlue" Target="_blank" NavigateUrl="http://business.ustc.edu.cn/zh_CN/"
|
||||
Text="管理学院">
|
||||
<Menu runat="server">
|
||||
<x:MenuHyperLink runat="server" Icon="TagPink" Target="_blank" NavigateUrl="http://is.ustc.edu.cn/"
|
||||
Text="工商管理系">
|
||||
</x:MenuHyperLink>
|
||||
<x:MenuHyperLink runat="server" Icon="TagPurple" Target="_blank" NavigateUrl="http://stat.ustc.edu.cn/"
|
||||
Text="统计与金融系">
|
||||
</x:MenuHyperLink>
|
||||
</Menu>
|
||||
</x:MenuHyperLink>
|
||||
</Menu>
|
||||
</x:Button>
|
||||
<br />
|
||||
<br />
|
||||
<x:Button ID="Button1" Text="中国科学技术大学(动态创建下拉菜单)" EnablePostBack="false" runat="server">
|
||||
</x:Button>
|
||||
<br />
|
||||
<br />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button_menu.aspx.cs" Inherits="FineUI.Examples.button.button_menu" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
<f:Button ID="btnMenu" Text="中国科学技术大学" EnablePostBack="false" runat="server">
|
||||
<Menu runat="server">
|
||||
<f:MenuHyperLink runat="server" Icon="TagGreen" Target="_blank" NavigateUrl="http://scms.ustc.edu.cn/"
|
||||
Text="化学与材料科学学院">
|
||||
</f:MenuHyperLink>
|
||||
<f:MenuHyperLink runat="server" Icon="TagBlue" Target="_blank" NavigateUrl="http://business.ustc.edu.cn/zh_CN/"
|
||||
Text="管理学院">
|
||||
<Menu runat="server">
|
||||
<f:MenuHyperLink runat="server" Icon="TagPink" Target="_blank" NavigateUrl="http://is.ustc.edu.cn/"
|
||||
Text="工商管理系">
|
||||
</f:MenuHyperLink>
|
||||
<f:MenuHyperLink runat="server" Icon="TagPurple" Target="_blank" NavigateUrl="http://stat.ustc.edu.cn/"
|
||||
Text="统计与金融系">
|
||||
</f:MenuHyperLink>
|
||||
</Menu>
|
||||
</f:MenuHyperLink>
|
||||
</Menu>
|
||||
</f:Button>
|
||||
<br />
|
||||
<br />
|
||||
<f:Button ID="Button1" Text="中国科学技术大学(动态创建下拉菜单)" EnablePostBack="false" runat="server">
|
||||
</f:Button>
|
||||
<br />
|
||||
<br />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,55 +1,55 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.button
|
||||
{
|
||||
public partial class button_menu : PageBase
|
||||
{
|
||||
protected void Page_Init(object sender, EventArgs e)
|
||||
{
|
||||
MenuHyperLink menuSCMS = new MenuHyperLink();
|
||||
menuSCMS.Target = "_blank";
|
||||
menuSCMS.Text = "化学与材料科学学院";
|
||||
menuSCMS.Icon = Icon.TagGreen;
|
||||
menuSCMS.NavigateUrl = "http://scms.ustc.edu.cn/";
|
||||
Button1.Menu.Items.Add(menuSCMS);
|
||||
|
||||
MenuHyperLink menuBZ = new MenuHyperLink();
|
||||
menuBZ.Target = "_blank";
|
||||
menuBZ.Text = "管理学院";
|
||||
menuBZ.Icon = Icon.TagBlue;
|
||||
menuBZ.NavigateUrl = "http://business.ustc.edu.cn/zh_CN/";
|
||||
Button1.Menu.Items.Add(menuBZ);
|
||||
|
||||
MenuHyperLink menuIS = new MenuHyperLink();
|
||||
menuIS.Target = "_blank";
|
||||
menuIS.Text = "工商管理系";
|
||||
menuIS.Icon = Icon.TagPink;
|
||||
menuIS.NavigateUrl = "http://is.ustc.edu.cn/";
|
||||
menuBZ.Menu.Items.Add(menuIS);
|
||||
|
||||
|
||||
MenuHyperLink menuSTAT = new MenuHyperLink();
|
||||
menuSTAT.Target = "_blank";
|
||||
menuSTAT.Text = "统计与金融系";
|
||||
menuSTAT.Icon = Icon.TagPink;
|
||||
menuSTAT.NavigateUrl = "http://stat.ustc.edu.cn/";
|
||||
menuBZ.Menu.Items.Add(menuSTAT);
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.button
|
||||
{
|
||||
public partial class button_menu : PageBase
|
||||
{
|
||||
protected void Page_Init(object sender, EventArgs e)
|
||||
{
|
||||
MenuHyperLink menuSCMS = new MenuHyperLink();
|
||||
menuSCMS.Target = "_blank";
|
||||
menuSCMS.Text = "化学与材料科学学院";
|
||||
menuSCMS.Icon = Icon.TagGreen;
|
||||
menuSCMS.NavigateUrl = "http://scms.ustc.edu.cn/";
|
||||
Button1.Menu.Items.Add(menuSCMS);
|
||||
|
||||
MenuHyperLink menuBZ = new MenuHyperLink();
|
||||
menuBZ.Target = "_blank";
|
||||
menuBZ.Text = "管理学院";
|
||||
menuBZ.Icon = Icon.TagBlue;
|
||||
menuBZ.NavigateUrl = "http://business.ustc.edu.cn/zh_CN/";
|
||||
Button1.Menu.Items.Add(menuBZ);
|
||||
|
||||
MenuHyperLink menuIS = new MenuHyperLink();
|
||||
menuIS.Target = "_blank";
|
||||
menuIS.Text = "工商管理系";
|
||||
menuIS.Icon = Icon.TagPink;
|
||||
menuIS.NavigateUrl = "http://is.ustc.edu.cn/";
|
||||
menuBZ.Menu.Items.Add(menuIS);
|
||||
|
||||
|
||||
MenuHyperLink menuSTAT = new MenuHyperLink();
|
||||
menuSTAT.Target = "_blank";
|
||||
menuSTAT.Text = "统计与金融系";
|
||||
menuSTAT.Icon = Icon.TagPink;
|
||||
menuSTAT.NavigateUrl = "http://stat.ustc.edu.cn/";
|
||||
menuBZ.Menu.Items.Add(menuSTAT);
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
102
FineUI.Examples/button/button_menu.aspx.designer.cs
generated
102
FineUI.Examples/button/button_menu.aspx.designer.cs
generated
@ -1,51 +1,51 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.button {
|
||||
|
||||
|
||||
public partial class button_menu {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// btnMenu 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnMenu;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.button {
|
||||
|
||||
|
||||
public partial class button_menu {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// btnMenu 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnMenu;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
}
|
||||
}
|
||||
|
38
FineUI.Examples/button/button_menu_menuid.aspx
Normal file
38
FineUI.Examples/button/button_menu_menuid.aspx
Normal file
@ -0,0 +1,38 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button_menu_menuid.aspx.cs" Inherits="FineUI.Examples.button.button_menu_menuid" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
<f:Button ID="btnMenu" Text="中国科学技术大学" EnablePostBack="false" runat="server" MenuID="Menu1">
|
||||
</f:Button>
|
||||
<br />
|
||||
<br />
|
||||
<f:Button ID="Button1" Text="中国科学技术大学(和上一个按钮共享同一个菜单)" EnablePostBack="false" MenuID="Menu1" runat="server">
|
||||
</f:Button>
|
||||
<f:Menu ID="Menu1" runat="server">
|
||||
<f:MenuHyperLink ID="MenuHyperLink1" runat="server" Icon="TagGreen" Target="_blank" NavigateUrl="http://scms.ustc.edu.cn/"
|
||||
Text="化学与材料科学学院">
|
||||
</f:MenuHyperLink>
|
||||
<f:MenuHyperLink ID="MenuHyperLink2" runat="server" Icon="TagBlue" Target="_blank" NavigateUrl="http://business.ustc.edu.cn/zh_CN/"
|
||||
Text="管理学院">
|
||||
<Menu ID="Menu2" runat="server">
|
||||
<f:MenuHyperLink ID="MenuHyperLink3" runat="server" Icon="TagPink" Target="_blank" NavigateUrl="http://is.ustc.edu.cn/"
|
||||
Text="工商管理系">
|
||||
</f:MenuHyperLink>
|
||||
<f:MenuHyperLink ID="MenuHyperLink4" runat="server" Icon="TagPurple" Target="_blank" NavigateUrl="http://stat.ustc.edu.cn/"
|
||||
Text="统计与金融系">
|
||||
</f:MenuHyperLink>
|
||||
</Menu>
|
||||
</f:MenuHyperLink>
|
||||
</f:Menu>
|
||||
<br />
|
||||
<br />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
22
FineUI.Examples/button/button_menu_menuid.aspx.cs
Normal file
22
FineUI.Examples/button/button_menu_menuid.aspx.cs
Normal file
@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUI.Examples.button
|
||||
{
|
||||
public partial class button_menu_menuid : PageBase
|
||||
{
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
96
FineUI.Examples/button/button_menu_menuid.aspx.designer.cs
generated
Normal file
96
FineUI.Examples/button/button_menu_menuid.aspx.designer.cs
generated
Normal file
@ -0,0 +1,96 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.button {
|
||||
|
||||
|
||||
public partial class button_menu_menuid {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// btnMenu 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnMenu;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// Menu1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Menu Menu1;
|
||||
|
||||
/// <summary>
|
||||
/// MenuHyperLink1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuHyperLink MenuHyperLink1;
|
||||
|
||||
/// <summary>
|
||||
/// MenuHyperLink2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuHyperLink MenuHyperLink2;
|
||||
|
||||
/// <summary>
|
||||
/// MenuHyperLink3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuHyperLink MenuHyperLink3;
|
||||
|
||||
/// <summary>
|
||||
/// MenuHyperLink4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuHyperLink MenuHyperLink4;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,22 +1,22 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="source.aspx.cs" Inherits="FineUI.Examples.source" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<style type="text/css">
|
||||
iframe
|
||||
{
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" AutoSizePanelID="TabStrip1" runat="server"></x:PageManager>
|
||||
<x:TabStrip ID="TabStrip1" ShowBorder="false" TabPosition="Left" runat="server">
|
||||
</x:TabStrip>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="source.aspx.cs" Inherits="FineUI.Examples.source" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<style type="text/css">
|
||||
iframe
|
||||
{
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="TabStrip1" runat="server"></f:PageManager>
|
||||
<f:TabStrip ID="TabStrip1" ShowBorder="false" TabPosition="Top" runat="server">
|
||||
</f:TabStrip>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,149 +1,107 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.IO;
|
||||
|
||||
namespace FineUI.Examples
|
||||
{
|
||||
public partial class source : PageBase
|
||||
{
|
||||
private static Dictionary<string, string> SOURCE_FILES = new Dictionary<string, string>() {
|
||||
{"grid/grid_iframe.aspx", "~/grid/grid_iframe_window.aspx"},
|
||||
{"tree/databind/tree_document.aspx", "~/tree/databind/website.xml"},
|
||||
{"tree/databind/tree_datasource.aspx", "~/tree/databind/website.xml"},
|
||||
{"tree/databind/tree_sitemap.aspx", "~/tree/databind/Web.sitemap"},
|
||||
{"aspnet/fileupload.aspx", "~/aspnet/fileupload_iframe.aspx"},
|
||||
{"iframe/button_iframe.aspx", "~/grid/grid_iframe_window.aspx"},
|
||||
{"iframe/grid_iframe.aspx", "~/grid/grid_iframe_window.aspx"},
|
||||
{"iframe/iframe_iframe.aspx", "~/iframe/iframe_iframe_window1.aspx;~/iframe/iframe_iframe_window2.aspx"},
|
||||
{"iframe/parent_postback.aspx", "~/iframe/parent_postback2.aspx;~/iframe/parent_postback3.aspx"},
|
||||
{"iframe/parent_postback_top.aspx", "~/iframe/parent_postback_top2.aspx;~/iframe/parent_postback_top3.aspx"},
|
||||
{"iframe/triggerbox_iframe.aspx", "~/iframe/triggerbox_iframe_iframe.aspx"},
|
||||
{"iframe/passvalue_iframe.aspx", "~/iframe/passvalue_iframe_iframe.aspx"},
|
||||
{"other/accordion_links.aspx", "~/other/accordion_links_iframe.htm"},
|
||||
{"usercontrol/userinfo.aspx", "~/usercontrol/UserInfoControl.ascx"},
|
||||
{"usercontrol/userinfo2.aspx", "~/usercontrol/UserInfoControl.ascx"},
|
||||
{"usercontrol/userinfo_dynamic.aspx", "~/usercontrol/UserInfoControl.ascx"},
|
||||
{"iframe/selectprovince1.aspx", "~/iframe/selectprovince1_child.aspx"},
|
||||
{"iframe/selectprovince2.aspx", "~/iframe/selectprovince2_child.aspx"},
|
||||
{"iframe/selectprovince3.aspx", "~/iframe/selectprovince3_child.aspx"},
|
||||
{"iframe/topmenu2/default.aspx", "~/iframe/topmenu2/default.aspx;~/iframe/topmenu2/leftmenu.aspx"},
|
||||
{"iframe/topmenu3/default.aspx", "~/iframe/topmenu3/default.aspx;~/iframe/topmenu3/leftmenu.aspx"},
|
||||
{"tabstrip/tabstrip_iframe_disabled.aspx", "~/tabstrip/tabstrip_iframe_disabled_tab1.aspx"}
|
||||
|
||||
};
|
||||
|
||||
protected void Page_Init(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
string files = Request.QueryString["files"];
|
||||
|
||||
if (String.IsNullOrEmpty(files))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
files = ResolveQueryString(files);
|
||||
|
||||
if (!String.IsNullOrEmpty(files))
|
||||
{
|
||||
string[] fileNames = files.Split(';');
|
||||
|
||||
for (int i = 0; i < fileNames.Length; i++)
|
||||
{
|
||||
string fileName = fileNames[i];
|
||||
string shortFileName = GetShortFileName(fileName);
|
||||
string iframeUrl = "./source_file.aspx?file=" + fileName;
|
||||
|
||||
FineUI.Tab tab = new FineUI.Tab();
|
||||
tab.Title = shortFileName;
|
||||
tab.EnableIFrame = true;
|
||||
tab.IFrameUrl = iframeUrl;
|
||||
tab.IconUrl = GetIconUrl(tab.IFrameUrl);
|
||||
TabStrip1.Tabs.Add(tab);
|
||||
|
||||
// End with .aspx.
|
||||
if (fileName.ToLower().EndsWith(".aspx") || fileName.ToLower().EndsWith(".ascx"))
|
||||
{
|
||||
tab = new FineUI.Tab();
|
||||
tab.Title = shortFileName + ".cs";
|
||||
tab.EnableIFrame = true;
|
||||
tab.IFrameUrl = iframeUrl + ".cs";
|
||||
tab.IconUrl = GetIconUrl(tab.IFrameUrl);
|
||||
TabStrip1.Tabs.Add(tab);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private string GetIconUrl(string url)
|
||||
{
|
||||
string suffix = url.Substring(url.LastIndexOf('.') + 1);
|
||||
return "~/images/filetype/vs_" + suffix + ".png";
|
||||
//string fileName = "vs_unknow.png";
|
||||
//if (url.EndsWith(".aspx"))
|
||||
//{
|
||||
// fileName = "vs_aspx.png";
|
||||
//}
|
||||
//else if (url.EndsWith(".cs"))
|
||||
//{
|
||||
// fileName = "vs_cs.png";
|
||||
//}
|
||||
//else if (url.EndsWith(".xml"))
|
||||
//{
|
||||
// fileName = "vs_xml.png";
|
||||
//}
|
||||
//else if (url.EndsWith(".config"))
|
||||
//{
|
||||
// fileName = "vs_config.png";
|
||||
//}
|
||||
//else if (url.EndsWith(".js"))
|
||||
//{
|
||||
// fileName = "vs_js.png";
|
||||
//}
|
||||
//else if (url.EndsWith(".css"))
|
||||
//{
|
||||
// fileName = "vs_css.png";
|
||||
//}
|
||||
//else if (url.EndsWith(".html") || url.EndsWith(".htm"))
|
||||
//{
|
||||
// fileName = "vs_htm.png";
|
||||
//}
|
||||
}
|
||||
|
||||
private string ResolveQueryString(string files)
|
||||
{
|
||||
string result = files;
|
||||
foreach (string key in SOURCE_FILES.Keys)
|
||||
{
|
||||
if (files.EndsWith(key))
|
||||
{
|
||||
result += ';' + SOURCE_FILES[key];
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private string GetShortFileName(string fileName)
|
||||
{
|
||||
int index = fileName.LastIndexOf("/");
|
||||
|
||||
if (index >= 0)
|
||||
{
|
||||
return fileName.Substring(index + 1);
|
||||
}
|
||||
|
||||
return fileName;
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.IO;
|
||||
|
||||
namespace FineUI.Examples
|
||||
{
|
||||
public partial class source : PageBase
|
||||
{
|
||||
protected void Page_Init(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
string files = Request.QueryString["files"];
|
||||
|
||||
if (String.IsNullOrEmpty(files))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!String.IsNullOrEmpty(files))
|
||||
{
|
||||
string[] fileNames = files.Split(';');
|
||||
|
||||
for (int i = 0; i < fileNames.Length; i++)
|
||||
{
|
||||
string fileName = fileNames[i];
|
||||
string shortFileName = GetShortFileName(fileName);
|
||||
string iframeUrl = "./source_file.aspx?file=" + fileName;
|
||||
|
||||
Tab tab = new Tab();
|
||||
tab.Title = shortFileName;
|
||||
tab.EnableIFrame = true;
|
||||
tab.IFrameUrl = iframeUrl;
|
||||
tab.IconUrl = GetIconUrl(tab.IFrameUrl);
|
||||
TabStrip1.Tabs.Add(tab);
|
||||
|
||||
// End with .aspx.
|
||||
if (fileName.ToLower().EndsWith(".aspx") || fileName.ToLower().EndsWith(".ascx") || fileName.ToLower().EndsWith(".master"))
|
||||
{
|
||||
tab = new FineUI.Tab();
|
||||
tab.Title = shortFileName + ".cs";
|
||||
tab.EnableIFrame = true;
|
||||
tab.IFrameUrl = iframeUrl + ".cs";
|
||||
tab.IconUrl = GetIconUrl(tab.IFrameUrl);
|
||||
TabStrip1.Tabs.Add(tab);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private string GetIconUrl(string url)
|
||||
{
|
||||
string suffix = url.Substring(url.LastIndexOf('.') + 1);
|
||||
return "~/res/images/filetype/vs_" + suffix + ".png";
|
||||
//string fileName = "vs_unknow.png";
|
||||
//if (url.EndsWith(".aspx"))
|
||||
//{
|
||||
// fileName = "vs_aspx.png";
|
||||
//}
|
||||
//else if (url.EndsWith(".cs"))
|
||||
//{
|
||||
// fileName = "vs_cs.png";
|
||||
//}
|
||||
//else if (url.EndsWith(".xml"))
|
||||
//{
|
||||
// fileName = "vs_xml.png";
|
||||
//}
|
||||
//else if (url.EndsWith(".config"))
|
||||
//{
|
||||
// fileName = "vs_config.png";
|
||||
//}
|
||||
//else if (url.EndsWith(".js"))
|
||||
//{
|
||||
// fileName = "vs_js.png";
|
||||
//}
|
||||
//else if (url.EndsWith(".css"))
|
||||
//{
|
||||
// fileName = "vs_css.png";
|
||||
//}
|
||||
//else if (url.EndsWith(".html") || url.EndsWith(".htm"))
|
||||
//{
|
||||
// fileName = "vs_htm.png";
|
||||
//}
|
||||
}
|
||||
|
||||
private string GetShortFileName(string fileName)
|
||||
{
|
||||
int index = fileName.LastIndexOf("/");
|
||||
|
||||
if (index >= 0)
|
||||
{
|
||||
return fileName.Substring(index + 1);
|
||||
}
|
||||
|
||||
return fileName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
84
FineUI.Examples/common/source.aspx.designer.cs
generated
84
FineUI.Examples/common/source.aspx.designer.cs
generated
@ -1,42 +1,42 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples {
|
||||
|
||||
|
||||
public partial class source {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// TabStrip1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TabStrip TabStrip1;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples {
|
||||
|
||||
|
||||
public partial class source {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// TabStrip1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TabStrip TabStrip1;
|
||||
}
|
||||
}
|
||||
|
@ -1,36 +1,37 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="source_file.aspx.cs" Inherits="FineUI.Examples.source_file" %>
|
||||
|
||||
<%@ Register Assembly="Wilco.SyntaxHighlighter" Namespace="Wilco.Web.SyntaxHighlighting"
|
||||
TagPrefix="cc1" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<style type="text/css">
|
||||
body
|
||||
{
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
font-size: 12px;
|
||||
background-color: White;
|
||||
}
|
||||
pre span
|
||||
{
|
||||
font-family: consolas,arial,tahoma,verdana,helvetica;
|
||||
}
|
||||
.shl_ln
|
||||
{
|
||||
border-right: 1px solid #999;
|
||||
padding-right: 2px;
|
||||
color: #999;
|
||||
margin-right: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<cc1:SyntaxHighlighter ID="SyntaxHighlighter1" runat="server">
|
||||
</cc1:SyntaxHighlighter>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="source_file.aspx.cs" Inherits="FineUI.Examples.source_file" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/google-code-prettify/prettify.css" rel="stylesheet" />
|
||||
<style type="text/css">
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 13px;
|
||||
background-color: White;
|
||||
}
|
||||
|
||||
pre.prettyprint {
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 10px 5px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
li.L0, li.L1, li.L2, li.L3, li.L4,
|
||||
li.L5, li.L6, li.L7, li.L8, li.L9 {
|
||||
list-style-type: decimal !important;
|
||||
background-color: #fff;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body onload="prettyPrint();">
|
||||
<form id="form1" runat="server">
|
||||
<asp:Literal runat="server" ID="desc"></asp:Literal>
|
||||
</form>
|
||||
<script src="../res/google-code-prettify/prettify.js"></script>
|
||||
<script src="../res/google-code-prettify/lang-basic.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,53 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.IO;
|
||||
|
||||
namespace FineUI.Examples
|
||||
{
|
||||
public partial class source_file : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
string file = Request.QueryString["file"];
|
||||
|
||||
string content = File.ReadAllText(Server.MapPath(file));
|
||||
|
||||
if (!String.IsNullOrEmpty(file))
|
||||
{
|
||||
string language = "ASPX";
|
||||
string fileName = file.ToLower();
|
||||
if (fileName.EndsWith(".aspx"))
|
||||
{
|
||||
language = "ASPX";
|
||||
}
|
||||
else if (fileName.EndsWith(".cs"))
|
||||
{
|
||||
language = "C#";
|
||||
}
|
||||
else if (fileName.EndsWith(".config") || fileName.EndsWith(".sitemap") || fileName.EndsWith(".xml"))
|
||||
{
|
||||
language = "XML";
|
||||
}
|
||||
else if (fileName.EndsWith(".css"))
|
||||
{
|
||||
language = "CSS";
|
||||
}
|
||||
else if (fileName.EndsWith(".js"))
|
||||
{
|
||||
language = "JavaScript";
|
||||
}
|
||||
|
||||
SyntaxHighlighter1.Mode = Wilco.Web.SyntaxHighlighting.HighlightMode.Source;
|
||||
SyntaxHighlighter1.Language = language;
|
||||
SyntaxHighlighter1.Text = content;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.IO;
|
||||
|
||||
namespace FineUI.Examples
|
||||
{
|
||||
public partial class source_file : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
string file = Request.QueryString["file"];
|
||||
|
||||
if (file.StartsWith("http://") || file.StartsWith("https://"))
|
||||
{
|
||||
desc.Text = String.Format("<br/><br/><a href=\"{0}\" target=\"_blank\">在新窗口打开</a>", file);
|
||||
return;
|
||||
}
|
||||
|
||||
string content = File.ReadAllText(Server.MapPath(file));
|
||||
desc.Text = "<pre class=\"prettyprint linenums\">" + HttpUtility.HtmlEncode(content) + "</pre>";
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
66
FineUI.Examples/common/source_file.aspx.designer.cs
generated
66
FineUI.Examples/common/source_file.aspx.designer.cs
generated
@ -1,33 +1,33 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples {
|
||||
|
||||
|
||||
public partial class source_file {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// SyntaxHighlighter1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::Wilco.Web.SyntaxHighlighting.SyntaxHighlighter SyntaxHighlighter1;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples {
|
||||
|
||||
|
||||
public partial class source_file {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// desc 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal desc;
|
||||
}
|
||||
}
|
||||
|
@ -1,47 +1,47 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ajax.aspx.cs" Inherits="FineUI.Examples.ajax" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
body
|
||||
{
|
||||
font-size: 13px;
|
||||
}
|
||||
table td
|
||||
{
|
||||
vertical-align: top;
|
||||
width: 180px;
|
||||
padding: 0 2px 20px 0;
|
||||
}
|
||||
table td .head
|
||||
{
|
||||
border-top: solid 1px #8DB2E3;
|
||||
background-color: #D6E3F2;
|
||||
padding: 5px;
|
||||
font-weight: bold;
|
||||
}
|
||||
table ul
|
||||
{
|
||||
margin: 0px;
|
||||
list-style-type: none;
|
||||
padding: 5px;
|
||||
min-height: 200px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<br />
|
||||
FineUI 有原生的 AJAX 支持,也就是说不需要做任何配置,控件属性在服务器端的改变都能以 AJAX 的方式影响到前端界面的显示。
|
||||
<br />
|
||||
<br />
|
||||
但是,并非控件的所有属性都支持 AJAX 改变,下面列表展示了每个控件有哪些属性支持 AJAX 改变。
|
||||
<br />
|
||||
<br />
|
||||
<asp:Literal ID="litResult" runat="server"></asp:Literal>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ajax.aspx.cs" Inherits="FineUI.Examples.ajax" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
body
|
||||
{
|
||||
font-size: 13px;
|
||||
}
|
||||
table td
|
||||
{
|
||||
vertical-align: top;
|
||||
width: 180px;
|
||||
padding: 0 2px 20px 0;
|
||||
}
|
||||
table td .head
|
||||
{
|
||||
border-top: solid 1px #8DB2E3;
|
||||
background-color: #D6E3F2;
|
||||
padding: 5px;
|
||||
font-weight: bold;
|
||||
}
|
||||
table ul
|
||||
{
|
||||
margin: 0px;
|
||||
list-style-type: none;
|
||||
padding: 5px;
|
||||
min-height: 200px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="f-body">
|
||||
<form id="form1" runat="server">
|
||||
<br />
|
||||
FineUI 有原生的 AJAX 支持,也就是说不需要做任何配置,控件属性在服务器端的改变都能以 AJAX 的方式影响到前端界面的显示。
|
||||
<br />
|
||||
<br />
|
||||
但是,并非控件的所有属性都支持 AJAX 改变,下面列表展示了每个控件有哪些属性支持 AJAX 改变。
|
||||
<br />
|
||||
<br />
|
||||
<asp:Literal ID="litResult" runat="server"></asp:Literal>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,102 +1,102 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
|
||||
namespace FineUI.Examples
|
||||
{
|
||||
public partial class ajax : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
LoadData();
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadData()
|
||||
{
|
||||
string content = ReadFile("~/config/ajax_properties.txt");
|
||||
Dictionary<string, JObject> allControls = new Dictionary<string, JObject>();
|
||||
List<string> publicControls = new List<string>();
|
||||
JArray ja = JArray.Parse(content);
|
||||
foreach (JObject jo in ja)
|
||||
{
|
||||
if (jo.Value<bool>("public")) // .getBool("public"))
|
||||
{
|
||||
publicControls.Add(jo.Value<string>("name")); //jo.getString("name"));
|
||||
}
|
||||
allControls.Add(jo.Value<string>("name"), jo); //jo.getString("name"), jo);
|
||||
}
|
||||
publicControls.Sort();
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("<table border=\"0\">");
|
||||
sb.Append("<tr>");
|
||||
for (int i = 0, count = publicControls.Count; i < count; i++)
|
||||
{
|
||||
string name = publicControls[i];
|
||||
|
||||
sb.Append("<td>");
|
||||
sb.AppendFormat("<div class=\"head\">{0}</div>", name);
|
||||
|
||||
// 计算控件name的所有AJAX属性
|
||||
List<string> ajaxProperties = new List<string>();
|
||||
|
||||
string parentControlName = name;
|
||||
do
|
||||
{
|
||||
JObject control = allControls[parentControlName];
|
||||
foreach (string property in control.Value<JArray>("ajax")) // .getJSONArray("ajax").getArrayList())
|
||||
{
|
||||
if (!ajaxProperties.Contains(property))
|
||||
{
|
||||
ajaxProperties.Add(property);
|
||||
}
|
||||
}
|
||||
parentControlName = control.Value<string>("parent"); //.getString("parent");
|
||||
|
||||
} while (!String.IsNullOrEmpty(parentControlName));
|
||||
|
||||
ajaxProperties.Sort();
|
||||
|
||||
|
||||
sb.Append("<ul class=\"ajax\">");
|
||||
foreach (string property in ajaxProperties)
|
||||
{
|
||||
sb.AppendFormat("<li>{0}</li>", property);
|
||||
}
|
||||
sb.Append("</ul>");
|
||||
|
||||
sb.Append("</td>");
|
||||
|
||||
if ((i + 1) % 6 == 0)
|
||||
{
|
||||
sb.Append("</tr><tr>");
|
||||
}
|
||||
}
|
||||
sb.Append("</tr>");
|
||||
sb.Append("</table>");
|
||||
|
||||
litResult.Text = sb.ToString();
|
||||
}
|
||||
|
||||
private string ReadFile(string filePath)
|
||||
{
|
||||
string content = String.Empty;
|
||||
|
||||
using (System.IO.StreamReader sr = new System.IO.StreamReader(Server.MapPath(filePath)))
|
||||
{
|
||||
content = sr.ReadToEnd();
|
||||
}
|
||||
|
||||
return content;
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
|
||||
namespace FineUI.Examples
|
||||
{
|
||||
public partial class ajax : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
LoadData();
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadData()
|
||||
{
|
||||
string content = ReadFile("~/config/ajax_properties.txt");
|
||||
Dictionary<string, JObject> allControls = new Dictionary<string, JObject>();
|
||||
List<string> publicControls = new List<string>();
|
||||
JArray ja = JArray.Parse(content);
|
||||
foreach (JObject jo in ja)
|
||||
{
|
||||
if (jo.Value<bool>("public")) // .getBool("public"))
|
||||
{
|
||||
publicControls.Add(jo.Value<string>("name")); //jo.getString("name"));
|
||||
}
|
||||
allControls.Add(jo.Value<string>("name"), jo); //jo.getString("name"), jo);
|
||||
}
|
||||
publicControls.Sort();
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("<table border=\"0\">");
|
||||
sb.Append("<tr>");
|
||||
for (int i = 0, count = publicControls.Count; i < count; i++)
|
||||
{
|
||||
string name = publicControls[i];
|
||||
|
||||
sb.Append("<td>");
|
||||
sb.AppendFormat("<div class=\"head\">{0}</div>", name);
|
||||
|
||||
// 计算控件name的所有AJAX属性
|
||||
List<string> ajaxProperties = new List<string>();
|
||||
|
||||
string parentControlName = name;
|
||||
do
|
||||
{
|
||||
JObject control = allControls[parentControlName];
|
||||
foreach (string property in control.Value<JArray>("ajax")) // .getJSONArray("ajax").getArrayList())
|
||||
{
|
||||
if (!ajaxProperties.Contains(property))
|
||||
{
|
||||
ajaxProperties.Add(property);
|
||||
}
|
||||
}
|
||||
parentControlName = control.Value<string>("parent"); //.getString("parent");
|
||||
|
||||
} while (!String.IsNullOrEmpty(parentControlName));
|
||||
|
||||
ajaxProperties.Sort();
|
||||
|
||||
|
||||
sb.Append("<ul class=\"ajax\">");
|
||||
foreach (string property in ajaxProperties)
|
||||
{
|
||||
sb.AppendFormat("<li>{0}</li>", property);
|
||||
}
|
||||
sb.Append("</ul>");
|
||||
|
||||
sb.Append("</td>");
|
||||
|
||||
if ((i + 1) % 6 == 0)
|
||||
{
|
||||
sb.Append("</tr><tr>");
|
||||
}
|
||||
}
|
||||
sb.Append("</tr>");
|
||||
sb.Append("</table>");
|
||||
|
||||
litResult.Text = sb.ToString();
|
||||
}
|
||||
|
||||
private string ReadFile(string filePath)
|
||||
{
|
||||
string content = String.Empty;
|
||||
|
||||
using (System.IO.StreamReader sr = new System.IO.StreamReader(Server.MapPath(filePath)))
|
||||
{
|
||||
content = sr.ReadToEnd();
|
||||
}
|
||||
|
||||
return content;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
66
FineUI.Examples/config/ajax.aspx.designer.cs
generated
66
FineUI.Examples/config/ajax.aspx.designer.cs
generated
@ -1,33 +1,33 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples {
|
||||
|
||||
|
||||
public partial class ajax {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// litResult 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litResult;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples {
|
||||
|
||||
|
||||
public partial class ajax {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// litResult 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litResult;
|
||||
}
|
||||
}
|
||||
|
@ -1,360 +1,360 @@
|
||||
[{
|
||||
"name": "ControlBase",
|
||||
"ajax": ["Hidden", "Enabled"],
|
||||
"parent": "",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "Component",
|
||||
"ajax": ["CssClass", "CssStyle"],
|
||||
"parent": "ControlBase",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "BoxComponent",
|
||||
"ajax": [],
|
||||
"parent": "Component",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "Container",
|
||||
"ajax": [],
|
||||
"parent": "BoxComponent",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "PanelBase",
|
||||
"ajax": ["IFrameUrl"],
|
||||
"parent": "Container",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "CollapsablePanel",
|
||||
"ajax": ["Expanded", "Collapsed", "Title"],
|
||||
"parent": "PanelBase",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "Field",
|
||||
"ajax": ["Readonly"],
|
||||
"parent": "BoxComponent",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "TextField",
|
||||
"ajax": [],
|
||||
"parent": "Field",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "RealTextField",
|
||||
"ajax": ["Text"],
|
||||
"parent": "TextField",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "Toolbar",
|
||||
"ajax": [],
|
||||
"parent": "BoxComponent",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "ToolbarFill",
|
||||
"ajax": [],
|
||||
"parent": "Component",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "ToolbarSeparator",
|
||||
"ajax": [],
|
||||
"parent": "Component",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "ToolbarText",
|
||||
"ajax": ["Text"],
|
||||
"parent": "Component",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Button",
|
||||
"ajax": ["Text", "Icon", "IconUrl", "ToolTip", "OnClientClick", "ConfirmTitle", "ConfirmText", "ConfirmIcon", "ConfirmTarget", "Pressed"],
|
||||
"parent": "Component",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Calendar",
|
||||
"ajax": [],
|
||||
"parent": "Component",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Menu",
|
||||
"ajax": [],
|
||||
"parent": "Component",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "BaseMenuItem",
|
||||
"ajax": [],
|
||||
"parent": "Component",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "MenuItem",
|
||||
"ajax": [],
|
||||
"parent": "BaseMenuItem",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "MenuButton",
|
||||
"ajax": ["ClickScriptFunction"],
|
||||
"parent": "MenuItem",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "MenuHyperLink",
|
||||
"ajax": [],
|
||||
"parent": "MenuItem",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "MenuSeparator",
|
||||
"ajax": [],
|
||||
"parent": "BaseMenuItem",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "MenuText",
|
||||
"ajax": [],
|
||||
"parent": "MenuItem",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "SplitButton",
|
||||
"ajax": [],
|
||||
"parent": "Button",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "PageLoading",
|
||||
"ajax": [],
|
||||
"parent": "ControlBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "PageManager",
|
||||
"ajax": [],
|
||||
"parent": "ControlBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Timer",
|
||||
"ajax": [],
|
||||
"parent": "ControlBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "CheckBox",
|
||||
"ajax": ["Checked"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "CheckBoxList",
|
||||
"ajax": ["SelectedIndexArray", "SelectedValueArray", "SelectedItemArray"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "HtmlEditor",
|
||||
"ajax": ["Text"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Label",
|
||||
"ajax": ["Text"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "HyperLink",
|
||||
"ajax": ["Text", "NavigateUrl", "Target", "OnClientClick"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Image",
|
||||
"ajax": ["ImageUrl", "ImageWidth", "ImageHeight", "ImageCssClass", "ImageCssStyle", "ImageAlt"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "LinkButton",
|
||||
"ajax": ["Text", "ConfirmText", "ConfirmTitle", "ConfirmIcon", "ConfirmTarget", "OnClientClick"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "RadioButton",
|
||||
"ajax": ["Checked"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "RadioButtonList",
|
||||
"ajax": ["SelectedIndex", "SelectedValue", "SelectedItem"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "DropDownList",
|
||||
"ajax": ["SelectedIndex", "SelectedValue", "SelectedItem", "DataSource", "Items"],
|
||||
"parent": "TextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "DatePicker",
|
||||
"ajax": ["SelectedDate"],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "HiddenField",
|
||||
"ajax": [],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "FileUpload",
|
||||
"ajax": [],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "NumberBox",
|
||||
"ajax": [],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "TextArea",
|
||||
"ajax": [],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "TextBox",
|
||||
"ajax": [],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "TriggerBox",
|
||||
"ajax": [],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "TwinTriggerBox",
|
||||
"ajax": ["ShowTrigger1", "ShowTrigger2"],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "RegionPanel",
|
||||
"ajax": [],
|
||||
"parent": "PanelBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Region",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Accordion",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "AccordionPane",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "AccordionLink",
|
||||
"ajax": [],
|
||||
"parent": "ControlBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "ContentPanel",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Form",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "FormRow",
|
||||
"ajax": [],
|
||||
"parent": "ControlBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "GroupPanel",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Panel",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "SimpleForm",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Tree",
|
||||
"ajax": ["Nodes", "SelectedNodeIDArray"],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Window",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Grid",
|
||||
"ajax": ["PageIndex", "PageSize", "RecordCount", "SortColumnIndex", "SortDirection", "SelectedRowIndexArray", "DataSource"],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "TabStrip",
|
||||
"ajax": ["ActiveTabIndex"],
|
||||
"parent": "PanelBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Tab",
|
||||
"ajax": [],
|
||||
"parent": "PanelBase",
|
||||
"public": true
|
||||
[{
|
||||
"name": "ControlBase",
|
||||
"ajax": ["Hidden", "Enabled"],
|
||||
"parent": "",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "Component",
|
||||
"ajax": ["CssClass", "FormItemClass", "CssStyle"],
|
||||
"parent": "ControlBase",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "BoxComponent",
|
||||
"ajax": [],
|
||||
"parent": "Component",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "Container",
|
||||
"ajax": [],
|
||||
"parent": "BoxComponent",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "PanelBase",
|
||||
"ajax": ["IFrameUrl"],
|
||||
"parent": "Container",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "CollapsablePanel",
|
||||
"ajax": ["Expanded", "Collapsed", "Title"],
|
||||
"parent": "PanelBase",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "Field",
|
||||
"ajax": ["Readonly"],
|
||||
"parent": "BoxComponent",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "TextField",
|
||||
"ajax": [],
|
||||
"parent": "Field",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "RealTextField",
|
||||
"ajax": ["Text"],
|
||||
"parent": "TextField",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "Toolbar",
|
||||
"ajax": [],
|
||||
"parent": "BoxComponent",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "ToolbarFill",
|
||||
"ajax": [],
|
||||
"parent": "Component",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "ToolbarSeparator",
|
||||
"ajax": [],
|
||||
"parent": "Component",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "ToolbarText",
|
||||
"ajax": ["Text"],
|
||||
"parent": "Component",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Button",
|
||||
"ajax": ["Text", "Icon", "IconUrl", "ToolTip", "OnClientClick", "ConfirmTitle", "ConfirmText", "ConfirmIcon", "ConfirmTarget", "Pressed"],
|
||||
"parent": "Component",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Calendar",
|
||||
"ajax": [],
|
||||
"parent": "Component",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Menu",
|
||||
"ajax": [],
|
||||
"parent": "Component",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "BaseMenuItem",
|
||||
"ajax": [],
|
||||
"parent": "Component",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "MenuItem",
|
||||
"ajax": [],
|
||||
"parent": "BaseMenuItem",
|
||||
"public": false
|
||||
},
|
||||
{
|
||||
"name": "MenuButton",
|
||||
"ajax": ["ClickScriptFunction"],
|
||||
"parent": "MenuItem",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "MenuHyperLink",
|
||||
"ajax": [],
|
||||
"parent": "MenuItem",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "MenuSeparator",
|
||||
"ajax": [],
|
||||
"parent": "BaseMenuItem",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "MenuText",
|
||||
"ajax": [],
|
||||
"parent": "MenuItem",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "SplitButton",
|
||||
"ajax": [],
|
||||
"parent": "Button",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "PageLoading",
|
||||
"ajax": [],
|
||||
"parent": "ControlBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "PageManager",
|
||||
"ajax": [],
|
||||
"parent": "ControlBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Timer",
|
||||
"ajax": [],
|
||||
"parent": "ControlBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "CheckBox",
|
||||
"ajax": ["Checked"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "CheckBoxList",
|
||||
"ajax": ["SelectedIndexArray", "SelectedValueArray", "SelectedItemArray"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "HtmlEditor",
|
||||
"ajax": ["Text"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Label",
|
||||
"ajax": ["Text"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "HyperLink",
|
||||
"ajax": ["Text", "NavigateUrl", "Target", "OnClientClick"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Image",
|
||||
"ajax": ["ImageUrl", "ImageWidth", "ImageHeight", "ImageCssClass", "ImageCssStyle", "ImageAlt"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "LinkButton",
|
||||
"ajax": ["Text", "ConfirmText", "ConfirmTitle", "ConfirmIcon", "ConfirmTarget", "OnClientClick"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "RadioButton",
|
||||
"ajax": ["Checked"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "RadioButtonList",
|
||||
"ajax": ["SelectedIndex", "SelectedValue", "SelectedItem"],
|
||||
"parent": "Field",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "DropDownList",
|
||||
"ajax": ["SelectedIndex", "SelectedValue", "SelectedItem", "DataSource", "Items"],
|
||||
"parent": "TextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "DatePicker",
|
||||
"ajax": ["SelectedDate"],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "HiddenField",
|
||||
"ajax": [],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "FileUpload",
|
||||
"ajax": [],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "NumberBox",
|
||||
"ajax": [],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "TextArea",
|
||||
"ajax": [],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "TextBox",
|
||||
"ajax": [],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "TriggerBox",
|
||||
"ajax": [],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "TwinTriggerBox",
|
||||
"ajax": ["ShowTrigger1", "ShowTrigger2"],
|
||||
"parent": "RealTextField",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "RegionPanel",
|
||||
"ajax": [],
|
||||
"parent": "PanelBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Region",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Accordion",
|
||||
"ajax": ["ActivePaneIndex"],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "AccordionPane",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "AccordionLink",
|
||||
"ajax": [],
|
||||
"parent": "ControlBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "ContentPanel",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Form",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "FormRow",
|
||||
"ajax": [],
|
||||
"parent": "ControlBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "GroupPanel",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Panel",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "SimpleForm",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Tree",
|
||||
"ajax": ["Nodes", "SelectedNodeIDArray"],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Window",
|
||||
"ajax": [],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Grid",
|
||||
"ajax": ["PageIndex", "PageSize", "RecordCount", "SortColumnIndex", "SortDirection", "SelectedRowIndexArray", "DataSource"],
|
||||
"parent": "CollapsablePanel",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "TabStrip",
|
||||
"ajax": ["ActiveTabIndex"],
|
||||
"parent": "PanelBase",
|
||||
"public": true
|
||||
},
|
||||
{
|
||||
"name": "Tab",
|
||||
"ajax": [],
|
||||
"parent": "PanelBase",
|
||||
"public": true
|
||||
}]
|
@ -1,63 +1,63 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>如何在IIS6中启用GZIP压缩</title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style>
|
||||
body
|
||||
{
|
||||
font-size: 13px;
|
||||
}
|
||||
ol li
|
||||
{
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.title
|
||||
{
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="title">
|
||||
如何在IIS6中启用GZIP压缩
|
||||
</div>
|
||||
<div style="margin: 10px 0;">
|
||||
启用GZIP压缩可以大大减少网络传输的数据量,比如使用FineUI的网站,首次下载的JavaScript由未启用的650K左右减少为启用GZIP后的250k左右。
|
||||
</div>
|
||||
<ol>
|
||||
<li>展开IIS管理器,在网站菜单上点击右键,点击属性菜单,选择服务选项卡,按下图选中启用压缩的复选框。
|
||||
<br />
|
||||
<img src="../images/enable_gzip_iis6_1.png" />
|
||||
<br />
|
||||
<img src="../images/enable_gzip_iis6_2.png" />
|
||||
<br />
|
||||
</li>
|
||||
<li>从<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en">这里</a>下载IIS
|
||||
6.0资源工具包,安装后运行Metabase Explorer。
|
||||
<br />
|
||||
<img src="../images/enable_gzip_iis6_3.png" />
|
||||
<br />
|
||||
</li>
|
||||
<li>展开 LM>W3SVC>Filters>Compression,你需要如下编辑 gzip 和 deflate 两个菜单。
|
||||
<br />
|
||||
HcScriptFileExtensions:asp,dll,aspx,axd,asmx,php,exe
|
||||
<br />
|
||||
HcDynamicCompressionLevel:10
|
||||
<br />
|
||||
HcFileExtensions:htm,html,js,css
|
||||
<br />
|
||||
<img src="../images/enable_gzip_iis6_4.png" />
|
||||
<br />
|
||||
</li>
|
||||
<li>重启IIS。
|
||||
<br />
|
||||
<img src="../images/enable_gzip_iis6_5.png" />
|
||||
</li>
|
||||
</ol>
|
||||
<div>
|
||||
原文链接:<a href="http://www.codeproject.com/Articles/31073/Enable-Gzip-compression-in-IIS-6-0-for-ASP-NET-2-0">http://www.codeproject.com/Articles/31073/Enable-Gzip-compression-in-IIS-6-0-for-ASP-NET-2-0</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>如何在IIS6中启用GZIP压缩</title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style>
|
||||
body
|
||||
{
|
||||
font-size: 13px;
|
||||
}
|
||||
ol li
|
||||
{
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.title
|
||||
{
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="f-body">
|
||||
<div class="title">
|
||||
如何在IIS6中启用GZIP压缩
|
||||
</div>
|
||||
<div style="margin: 10px 0;">
|
||||
启用GZIP压缩可以大大减少网络传输的数据量,比如使用FineUI v3.x的网站,首次下载的JavaScript由未启用的650K左右减少为启用GZIP后的250k左右。
|
||||
</div>
|
||||
<ol>
|
||||
<li>展开IIS管理器,在网站菜单上点击右键,点击属性菜单,选择服务选项卡,按下图选中启用压缩的复选框。
|
||||
<br />
|
||||
<img src="../res/images/enable_gzip_iis6_1.png" />
|
||||
<br />
|
||||
<img src="../res/images/enable_gzip_iis6_2.png" />
|
||||
<br />
|
||||
</li>
|
||||
<li>从<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en">这里</a>下载IIS
|
||||
6.0资源工具包,安装后运行Metabase Explorer。
|
||||
<br />
|
||||
<img src="../res/images/enable_gzip_iis6_3.png" />
|
||||
<br />
|
||||
</li>
|
||||
<li>展开 LM>W3SVC>Filters>Compression,你需要如下编辑 gzip 和 deflate 两个菜单。
|
||||
<br />
|
||||
HcScriptFileExtensions:asp,dll,aspx,axd,asmx,php,exe
|
||||
<br />
|
||||
HcDynamicCompressionLevel:10
|
||||
<br />
|
||||
HcFileExtensions:htm,html,js,css
|
||||
<br />
|
||||
<img src="../res/images/enable_gzip_iis6_4.png" />
|
||||
<br />
|
||||
</li>
|
||||
<li>重启IIS。
|
||||
<br />
|
||||
<img src="../res/images/enable_gzip_iis6_5.png" />
|
||||
</li>
|
||||
</ol>
|
||||
<div>
|
||||
原文链接:<a href="http://www.codeproject.com/Articles/31073/Enable-Gzip-compression-in-IIS-6-0-for-ASP-NET-2-0">http://www.codeproject.com/Articles/31073/Enable-Gzip-compression-in-IIS-6-0-for-ASP-NET-2-0</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,25 +1,25 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="icons.aspx.cs" Inherits="FineUI.Examples.icons" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
body {
|
||||
padding: 10px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
img {
|
||||
padding: 0 10px 10px 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<img src="../images/icons.gif" alt="FineUI Icons" />
|
||||
<%--<asp:Literal EnableViewState="false" runat="server" ID="litIcons"></asp:Literal>--%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="icons.aspx.cs" Inherits="FineUI.Examples.icons" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
body {
|
||||
padding: 10px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
img {
|
||||
padding: 0 10px 10px 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<img src="../res/images/icons.gif" alt="FineUI Icons" />
|
||||
<%--<asp:Literal EnableViewState="false" runat="server" ID="litIcons"></asp:Literal>--%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,49 +1,49 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples
|
||||
{
|
||||
public partial class icons : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
//LoadData();
|
||||
}
|
||||
}
|
||||
|
||||
//private void LoadData()
|
||||
//{
|
||||
// StringBuilder sb = new StringBuilder();
|
||||
// int index = 0;
|
||||
// sb.Append("<table><tr>");
|
||||
// foreach (string icon in Enum.GetNames(typeof(FineUI.IconType)))
|
||||
// {
|
||||
// //string iconName = FineUI.IconTypeName.GetName((FineUI.IconType)Enum.Parse(typeof(FineUI.IconType), icon));
|
||||
// //string iconUrl = FineUI.ResourceHelper.GetWebResourceUrl(Page, String.Format("FineUI.res.box.icons.{0}", iconName));
|
||||
// FineUI.IconType iconType = (FineUI.IconType)Enum.Parse(typeof(FineUI.IconType), icon);
|
||||
|
||||
// if (iconType != FineUI.IconType.None)
|
||||
// {
|
||||
// string iconUrl = FineUI.IconTypeName.GetIconUrl(iconType);
|
||||
// sb.AppendFormat("<td><span style=\"padding-left:20px;background-image:url({0});background-repeat:no-repeat;\">{1}</span></td>", iconUrl, icon);
|
||||
// }
|
||||
|
||||
// if (index % 5 == 0 && index != 0)
|
||||
// {
|
||||
// sb.Append("</tr><tr>");
|
||||
// }
|
||||
|
||||
// index++;
|
||||
// }
|
||||
// sb.Append("</tr><table>");
|
||||
// litIcons.Text = sb.ToString();
|
||||
//}
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUI.Examples
|
||||
{
|
||||
public partial class icons : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
//LoadData();
|
||||
}
|
||||
}
|
||||
|
||||
//private void LoadData()
|
||||
//{
|
||||
// StringBuilder sb = new StringBuilder();
|
||||
// int index = 0;
|
||||
// sb.Append("<table><tr>");
|
||||
// foreach (string icon in Enum.GetNames(typeof(FineUI.IconType)))
|
||||
// {
|
||||
// //string iconName = FineUI.IconTypeName.GetName((FineUI.IconType)Enum.Parse(typeof(FineUI.IconType), icon));
|
||||
// //string iconUrl = FineUI.ResourceHelper.GetWebResourceUrl(Page, String.Format("FineUI.res.box.icons.{0}", iconName));
|
||||
// FineUI.IconType iconType = (FineUI.IconType)Enum.Parse(typeof(FineUI.IconType), icon);
|
||||
|
||||
// if (iconType != FineUI.IconType.None)
|
||||
// {
|
||||
// string iconUrl = FineUI.IconTypeName.GetIconUrl(iconType);
|
||||
// sb.AppendFormat("<td><span style=\"padding-left:20px;background-image:url({0});background-repeat:no-repeat;\">{1}</span></td>", iconUrl, icon);
|
||||
// }
|
||||
|
||||
// if (index % 5 == 0 && index != 0)
|
||||
// {
|
||||
// sb.Append("</tr><tr>");
|
||||
// }
|
||||
|
||||
// index++;
|
||||
// }
|
||||
// sb.Append("</tr><table>");
|
||||
// litIcons.Text = sb.ToString();
|
||||
//}
|
||||
|
||||
}
|
||||
}
|
||||
|
48
FineUI.Examples/config/icons.aspx.designer.cs
generated
48
FineUI.Examples/config/icons.aspx.designer.cs
generated
@ -1,24 +1,24 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples {
|
||||
|
||||
|
||||
public partial class icons {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples {
|
||||
|
||||
|
||||
public partial class icons {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<img src="../images/icons.gif" alt="FineUI Icons" />
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body class="f-body">
|
||||
<img src="../res/images/icons.gif" alt="FineUI Icons" />
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,33 +1,33 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
ul li {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
安装工具箱
|
||||
</div>
|
||||
<ul class="example">
|
||||
<li>打开 Visual Studio,新建一个 Web 项目; </li>
|
||||
<li>打开 Default.aspx 页面;</li>
|
||||
<li>打开工具箱,在空白处点击右键选择“添加选项卡”,输入“FineUI”; </li>
|
||||
<li>在“FineUI”选项卡内,单击右键选择“选择项...”; </li>
|
||||
<li>在弹出的窗口的下面,选择“浏览...”按钮;</li>
|
||||
<li>打开“FineUI.dll”并确定; </li>
|
||||
<li>完成后的截图:
|
||||
<br />
|
||||
<img alt="FineUI toolbox" src="../images/toolbox.png" />
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
ul li {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="f-body">
|
||||
<div>
|
||||
安装工具箱
|
||||
</div>
|
||||
<ol class="example">
|
||||
<li>打开 Visual Studio,新建一个 Web 项目; </li>
|
||||
<li>打开 Default.aspx 页面;</li>
|
||||
<li>打开工具箱,在空白处点击右键选择“添加选项卡”,输入“FineUI”; </li>
|
||||
<li>在“FineUI”选项卡内,单击右键选择“选择项...”; </li>
|
||||
<li>在弹出的窗口的下面,选择“浏览...”按钮;</li>
|
||||
<li>打开“FineUI.dll”并确定; </li>
|
||||
<li>完成后的截图:
|
||||
<br />
|
||||
<img alt="FineUI toolbox" src="../res/images/toolbox.png" />
|
||||
</li>
|
||||
</ol>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,97 +1,120 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
ul li {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
在开发项目之前一定要配置好 Web.config:
|
||||
</div>
|
||||
<ul>
|
||||
<li>打开 web.config,在 configuration 配置节:
|
||||
<br />
|
||||
<pre style="font-style: italic;">
|
||||
<configSections>
|
||||
<section name="FineUI" type="FineUI.ConfigSection, FineUI"/>
|
||||
</configSections>
|
||||
|
||||
<!-- 可用的配置项(这里列的都是默认值):Language="zh_CN" AjaxTimeout="60" EnableAjax="true" Theme="blue" FormMessageTarget="qtip" FormOffsetRight="20" FormLabelWidth="100" FormLabelSeparator=":" IconBasePath="~/icon" EnableAjaxLoading="true" AjaxLoadingType="default" CustomTheme="" CustomThemeBasePath="~/theme" -->
|
||||
<FineUI DebugMode="false" />
|
||||
</pre>
|
||||
FineUI 配置节中的参数:
|
||||
<br />
|
||||
<ul>
|
||||
<li>Theme: 控件主题,目前内置了四种主题风格(Neptune/Blue/Gray/Access,默认值:Neptune)</li>
|
||||
<li>Language: 控件语言(en/zh_CN/zh_TW/...,默认值:zh_CN)</li>
|
||||
<li>FormMessageTarget: 表单字段错误提示信息的显示位置(Side/Qtip,默认值:Side)</li>
|
||||
<li>FormOffsetRight: 表单字段右侧距离边界的宽度(默认值:5px)</li>
|
||||
<li>FormLabelWidth: 表单字段标签的宽度(默认值:100px)</li>
|
||||
<li>FormLabelSeparator: 表单字段标签与内容的分隔符(默认值:":")</li>
|
||||
<li>EnableAjax: 是否启用AJAX(默认值:true)</li>
|
||||
<li>AjaxTimeout: AJAX超时时间(单位:秒,默认值:60s)</li>
|
||||
<!--<li>EnableBigFont: 是否启用大字体,将ExtJS默认11px的字体全部改为12px,否则显示的中文字体太小(默认值:false)</li>-->
|
||||
<li>DebugMode: 是否开发模式,启用时格式化输出页面JavaScript代码,便于调试(默认值:false)</li>
|
||||
<li>EnableAjaxLoading: 是否启用Ajax提示(默认值:true)</li>
|
||||
<li>AjaxLoadingType: Ajax提示类型,默认在页面顶部显示黄色提示框,mask则显示extjs默认的加载提示(default/mask,默认值:default)</li>
|
||||
</ul>
|
||||
<br />
|
||||
<br />
|
||||
</li>
|
||||
<li>在 system.web 配置节:
|
||||
<pre style="font-style: italic;">
|
||||
<pages>
|
||||
<controls>
|
||||
<add assembly="FineUI" namespace="FineUI" tagPrefix="x"/>
|
||||
</controls>
|
||||
</pages>
|
||||
|
||||
<httpModules>
|
||||
<add name="FineUIScriptModule" type="FineUI.ScriptModule, FineUI"/>
|
||||
</httpModules>
|
||||
|
||||
<httpHandlers>
|
||||
<add verb="GET" path="res.axd" type="FineUI.ResourceHandler, FineUI"/>
|
||||
</httpHandlers>
|
||||
</pre>
|
||||
</li>
|
||||
<li>完成。</li>
|
||||
</ul>
|
||||
<br />
|
||||
<div style="font-weight: bold; color: Red;">
|
||||
特别提醒
|
||||
</div>
|
||||
<br />
|
||||
基于.Net 4.5的项目,一定要为Web.config中<page>标签添加controlRenderingCompatibilityVersion和clientIDMode两个属性。
|
||||
<pre style="font-style: italic;">
|
||||
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
|
||||
<controls>
|
||||
<add assembly="FineUI" namespace="FineUI" tagPrefix="ext" />
|
||||
</controls>
|
||||
</pages>
|
||||
</pre>
|
||||
<br />
|
||||
<div style="font-weight: bold; color: Red;">
|
||||
注意引用的Newtonsoft.Json.dll版本
|
||||
</div>
|
||||
<br />
|
||||
FineUI.dll只有一个For Net2.0的版本,无论你的项目是2.0、3.5、4.0、4.5,都只需要引用同一个FineUI.dll即可。
|
||||
<br />
|
||||
<br />
|
||||
Newtonsoft.Json.dll为每个.Net版本创建不同的DLL,比如你的项目是基于.Net 2.0的,就要引用json.net\Net20\Newtonsoft.Json.dll,如果你的项目是基于.Net
|
||||
4.0的,就要引用json.net\Net40\Newtonsoft.Json.dll。
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
ul li {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="f-body">
|
||||
<div>
|
||||
在开发项目之前请配置好 Web.config:
|
||||
</div>
|
||||
<ol>
|
||||
<li><strong>设置 configuration 配置节:</strong>
|
||||
<br />
|
||||
<pre style="font-style: italic;">
|
||||
<configSections>
|
||||
<section name="FineUI" type="FineUI.ConfigSection, FineUI"/>
|
||||
</configSections>
|
||||
|
||||
<!-- 可用的配置项(这里列的都是默认值):
|
||||
Theme="Neptune"
|
||||
Language="zh_CN"
|
||||
AjaxTimeout="120"
|
||||
EnableAjax="true"
|
||||
DebugMode="false"
|
||||
FormMessageTarget="Qtip"
|
||||
FormOffsetRight="0"
|
||||
FormLabelWidth="100"
|
||||
FormLabelSeparator=":"
|
||||
FormLabelAlign="Left"
|
||||
EnableAjaxLoading="true"
|
||||
AjaxLoadingType="Default"
|
||||
CustomTheme=""
|
||||
IconBasePath="~/res/icon"
|
||||
CustomThemeBasePath="~/res/theme"
|
||||
JSBasePath="~/extjs"
|
||||
IEEdge="true"
|
||||
-->
|
||||
<FineUI DebugMode="false" />
|
||||
</pre>
|
||||
FineUI 配置节中的参数:
|
||||
<br />
|
||||
<ul>
|
||||
<li>Theme: 控件主题,内置 4 种主题风格(Neptune/Blue/Gray/Access,默认值:Neptune)</li>
|
||||
<li>Language: 控件语言(en/zh_CN/zh_TW,默认值:zh_CN)</li>
|
||||
<li>FormMessageTarget: 表单字段错误提示信息的显示位置(Title/Side/Qtip,默认值:Side)</li>
|
||||
<li>FormOffsetRight: 表单字段右侧距离边界的宽度(默认值:0px)</li>
|
||||
<li>FormLabelWidth: 表单字段标签的宽度(默认值:100px)</li>
|
||||
<li>FormLabelSeparator: 表单字段标签与内容的分隔符(默认值:":")</li>
|
||||
<li>EnableAjax: 是否启用AJAX(默认值:true)</li>
|
||||
<li>AjaxTimeout: Ajax超时时间(单位:秒,默认值:120s)</li>
|
||||
<li>DebugMode: 是否开发模式,启用时格式化输出页面的JavaScript代码,便于调试(默认值:false)</li>
|
||||
<li>EnableAjaxLoading: 是否启用Ajax提示(默认值:true)</li>
|
||||
<li>AjaxLoadingType: Ajax提示类型,默认在页面顶部显示黄色提示框(Default/Mask,默认值:Default)</li>
|
||||
</ul>
|
||||
<br />
|
||||
<br />
|
||||
</li>
|
||||
<li><strong>设置 system.web 配置节:</strong>
|
||||
<pre style="font-style: italic;">
|
||||
<pages>
|
||||
<controls>
|
||||
<add assembly="FineUI" namespace="FineUI" tagPrefix="f"/>
|
||||
</controls>
|
||||
</pages>
|
||||
|
||||
<httpModules>
|
||||
<add name="FineUIScriptModule" type="FineUI.ScriptModule, FineUI"/>
|
||||
</httpModules>
|
||||
|
||||
<httpHandlers>
|
||||
<add verb="GET" path="res.axd" type="FineUI.ResourceHandler, FineUI" validate="false"/>
|
||||
</httpHandlers>
|
||||
|
||||
</pre>
|
||||
</li>
|
||||
<li><strong>完成。</strong></li>
|
||||
</ol>
|
||||
<br />
|
||||
<div style="font-weight: bold; color: Red;">
|
||||
特别提醒
|
||||
</div>
|
||||
<br />
|
||||
基于.Net 4.5的项目,一定要为Web.config中<page>标签添加controlRenderingCompatibilityVersion和clientIDMode两个属性。
|
||||
<pre style="font-style: italic;">
|
||||
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
|
||||
<controls>
|
||||
<add assembly="FineUI" namespace="FineUI" tagPrefix="f" />
|
||||
</controls>
|
||||
</pages>
|
||||
</pre>
|
||||
<br />
|
||||
<div style="font-weight: bold; color: Red;">
|
||||
注意引用的Newtonsoft.Json.dll版本
|
||||
</div>
|
||||
<br />
|
||||
FineUI.dll只有一个版本,无论你的项目是2.0、3.5、4.0、4.5,都只需要引用同一个FineUI.dll即可。
|
||||
<br />
|
||||
<br />
|
||||
Newtonsoft.Json.dll为每个.Net版本创建不同的DLL,比如你的项目是基于.Net 2.0的,就要引用json.net\Net20\Newtonsoft.Json.dll,如果你的项目是基于.Net
|
||||
4.0的,就要引用json.net\Net40\Newtonsoft.Json.dll。
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<div style="font-weight: bold; color: Red;">
|
||||
更多常见问题:<a href="http://fineui.com/bbs/forum.php?mod=viewthread&tid=655" target="_blank">http://fineui.com/bbs/forum.php?mod=viewthread&tid=655</a>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,189 +1,193 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>FineUI版本发布周期(天)</title>
|
||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style>
|
||||
body {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
#desc {
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
margin: 20px 0 10px;
|
||||
font-size: 14px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="desc">
|
||||
</div>
|
||||
<div id="chart_div">
|
||||
</div>
|
||||
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
|
||||
<script type="text/javascript">
|
||||
google.load("visualization", "1", {
|
||||
packages: ["corechart"]
|
||||
});
|
||||
google.setOnLoadCallback(drawChart);
|
||||
|
||||
function drawChart() {
|
||||
var vs = preprocessVersions(), v, count = vs.length, chart, data;
|
||||
|
||||
data = new google.visualization.DataTable();
|
||||
data.addColumn('string', '版本');
|
||||
data.addColumn('number', '版本间隔天数');
|
||||
data.addRows(count);
|
||||
|
||||
for (var i = count - 1, j = 0; i >= 0; i--, j++) {
|
||||
v = vs[i];
|
||||
data.setValue(j, 1, v[2]);
|
||||
data.setValue(j, 0, v[1] + " (" + v[0] + ")");
|
||||
}
|
||||
|
||||
chart = new google.visualization.BarChart(document.getElementById('chart_div'));
|
||||
chart.draw(data, {
|
||||
height: 2500,
|
||||
width: 900,
|
||||
fontSize: 13,
|
||||
title: 'FineUI版本发布周期(天)',
|
||||
vAxis: {
|
||||
title: 'FineUI版本'
|
||||
},
|
||||
chartArea: {
|
||||
top: 30,
|
||||
left: 200
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById('desc').innerHTML = 'FineUI版本发布周期(总计发布了 ' + vs.length + ' 个版本)';
|
||||
}
|
||||
|
||||
function preprocessVersions() {
|
||||
var data = [
|
||||
["v0.1 preview", "2008-04-11"],
|
||||
["v0.1 preview2", "2008-04-25"],
|
||||
["v0.1 beta1", "2008-04-30"],
|
||||
["v0.1 beta2", "2008-05-08"],
|
||||
["v0.1 beta3", "2008-05-14"],
|
||||
["v0.1 beta4", "2008-05-20"],
|
||||
["v0.1 beta5", "2008-05-23"],
|
||||
["v0.1 beta6", "2008-05-27"],
|
||||
["v0.1 beta7", "2008-05-29"],
|
||||
["v0.1 beta8", "2008-05-30"],
|
||||
["v0.1 beta9", "2008-06-03"],
|
||||
["v0.1 beta10", "2008-06-05"],
|
||||
["v0.1 beta12", "2008-06-10"],
|
||||
["v0.2 beta1", "2008-06-12"],
|
||||
["v0.2 beta2", "2008-06-13"],
|
||||
["v0.2 beta3", "2008-06-16"],
|
||||
["v0.2 beta4", "2008-06-17"],
|
||||
["v0.2 beta6", "2008-06-19"],
|
||||
["v0.2 beta7", "2008-06-20"],
|
||||
["v0.2 beta8", "2008-06-23"],
|
||||
["v0.2 beta9", "2008-06-25"],
|
||||
["v0.2 beta10", "2008-06-27"],
|
||||
["v0.2 beta11", "2008-06-30"],
|
||||
["v0.2 beta12", "2008-07-02"],
|
||||
["v0.3 beta1", "2008-07-03"],
|
||||
["v0.3 beta2", "2008-07-07"],
|
||||
["v0.3 beta3", "2008-07-08"],
|
||||
["v0.3 beta4", "2008-07-09"],
|
||||
["v0.3 beta5", "2008-07-12"],
|
||||
["v0.3 beta6", "2008-07-14"],
|
||||
["v0.3 beta8", "2008-07-16"],
|
||||
["v0.3 beta9", "2008-07-22"],
|
||||
["v0.3 beta10", "2008-07-23"],
|
||||
["v0.3 beta11", "2008-07-24"],
|
||||
["v0.3 beta12", "2008-07-31"],
|
||||
["v0.4 beta1", "2008-08-05"],
|
||||
["v0.4 beta2", "2008-08-08"],
|
||||
["v0.4 beta3", "2008-08-12"],
|
||||
["v0.4 beta4", "2008-08-13"],
|
||||
["v0.4 beta5", "2008-08-15"],
|
||||
["v0.4 beta6", "2008-08-19"],
|
||||
["v1.0", "2008-08-26"],
|
||||
["v1.1 beta1", "2008-08-29"],
|
||||
["v1.1 beta3", "2008-08-31"],
|
||||
["v1.1 beta4", "2008-09-01"],
|
||||
["v1.1 beta5", "2008-09-02"],
|
||||
["v1.1 beta6", "2008-09-04"],
|
||||
["v1.1 beta7", "2008-09-08"],
|
||||
["v1.1", "2008-09-09"],
|
||||
["v1.2 beta1", "2008-09-19"],
|
||||
["v1.2 beta2", "2008-09-22"],
|
||||
["v1.2 beta3", "2008-09-25"],
|
||||
["v1.2 beta4", "2008-09-27"],
|
||||
["v1.2 beta5", "2008-10-15"],
|
||||
["v1.2 beta6", "2008-10-20"],
|
||||
["v1.2 beta7", "2008-10-28"],
|
||||
["v1.2 beta8", "2009-02-23"],
|
||||
["v1.2 beta9", "2009-02-27"],
|
||||
["v1.3.0", "2009-03-03"],
|
||||
["v1.3.1", "2009-03-25"],
|
||||
["v2.0 beta1", "2009-07-05"],
|
||||
["v2.0 beta2", "2009-07-13"],
|
||||
["v2.0 beta3", "2009-07-22"],
|
||||
["v2.0 beta4", "2009-08-02"],
|
||||
["v2.0 beta5", "2009-08-09"],
|
||||
["v2.0.6", "2009-08-14"],
|
||||
["v2.0.7", "2009-08-25"],
|
||||
["v2.0.8", "2009-08-29"],
|
||||
["v2.0.9", "2009-09-01"],
|
||||
["v2.1.0", "2009-09-06"],
|
||||
["v2.1.1", "2009-09-15"],
|
||||
["v2.1.2", "2009-09-27"],
|
||||
["v2.1.3", "2009-10-19"],
|
||||
["v2.1.4", "2009-11-17"],
|
||||
["v2.1.5", "2009-11-21"],
|
||||
["v2.1.6", "2009-11-26"],
|
||||
["v2.1.7", "2009-12-01"],
|
||||
["v2.1.8", "2009-12-06"],
|
||||
["v2.1.9", "2010-01-06"],
|
||||
["v2.2.0", "2010-01-31"],
|
||||
["v2.2.1", "2010-03-28"],
|
||||
["v2.3.1", "2010-06-30"],
|
||||
["v2.3.2", "2010-09-29"],
|
||||
["v2.3.3", "2011-02-22"],
|
||||
["v2.3.4", "2011-05-02"],
|
||||
["v2.3.5", "2011-05-09"],
|
||||
["v3.0.0", "2012-01-28"],
|
||||
["v3.0.1", "2012-02-05"],
|
||||
["v3.1.0", "2012-03-04"],
|
||||
["v3.1.1", "2012-04-02"],
|
||||
["v3.1.2", "2012-04-04"],
|
||||
["v3.1.3", "2012-04-08"],
|
||||
["v3.1.4", "2012-04-24"],
|
||||
["v3.1.5", "2012-05-06"],
|
||||
["v3.1.6", "2012-05-20"],
|
||||
["v3.1.7", "2012-06-03"],
|
||||
["v3.1.8", "2012-06-24"],
|
||||
["v3.1.9", "2012-08-18"],
|
||||
["v3.2.0", "2012-11-18"],
|
||||
["v3.2.1", "2012-11-25"],
|
||||
["v3.2.2", "2012-12-03"],
|
||||
["v3.2.3", "2013-01-09"],
|
||||
["v3.2.4", "2013-03-23"],
|
||||
["v3.2.5", "2013-04-27"],
|
||||
["v3.2.6", "2013-05-21"],
|
||||
["v3.3.0", "2013-06-17"],
|
||||
["v3.3.1", "2013-07-29"],
|
||||
["v4.0.1", "2013-10-28"]
|
||||
];
|
||||
|
||||
// 初始化第一个数据
|
||||
data[0][2] = 0;
|
||||
|
||||
var i = 1, count = data.length;
|
||||
for (; i < count; i++) {
|
||||
data[i][2] = (new Date(data[i][1]) - new Date(data[i - 1][1])) / (24 * 60 * 60 * 1000);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>FineUI版本发布周期(天)</title>
|
||||
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
<style>
|
||||
body {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
#desc {
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
margin: 20px 0 10px;
|
||||
font-size: 14px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="f-body">
|
||||
<div id="desc">
|
||||
</div>
|
||||
<div id="chart_div">
|
||||
</div>
|
||||
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
|
||||
<script type="text/javascript">
|
||||
google.load("visualization", "1", {
|
||||
packages: ["corechart"]
|
||||
});
|
||||
google.setOnLoadCallback(drawChart);
|
||||
|
||||
function drawChart() {
|
||||
var vs = preprocessVersions(), v, count = vs.length, chart, data;
|
||||
|
||||
data = new google.visualization.DataTable();
|
||||
data.addColumn('string', '版本');
|
||||
data.addColumn('number', '版本间隔天数');
|
||||
data.addRows(count);
|
||||
|
||||
for (var i = count - 1, j = 0; i >= 0; i--, j++) {
|
||||
v = vs[i];
|
||||
data.setValue(j, 1, v[2]);
|
||||
data.setValue(j, 0, v[1] + " (" + v[0] + ")");
|
||||
}
|
||||
|
||||
chart = new google.visualization.BarChart(document.getElementById('chart_div'));
|
||||
chart.draw(data, {
|
||||
height: 2500,
|
||||
width: 900,
|
||||
fontSize: 13,
|
||||
title: 'FineUI版本发布周期(天)',
|
||||
vAxis: {
|
||||
title: 'FineUI版本'
|
||||
},
|
||||
chartArea: {
|
||||
top: 30,
|
||||
left: 200
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById('desc').innerHTML = 'FineUI版本发布周期(总计发布了 ' + vs.length + ' 个版本)';
|
||||
}
|
||||
|
||||
function preprocessVersions() {
|
||||
var data = [
|
||||
["v0.1 preview", "2008-04-11"],
|
||||
["v0.1 preview2", "2008-04-25"],
|
||||
["v0.1 beta1", "2008-04-30"],
|
||||
["v0.1 beta2", "2008-05-08"],
|
||||
["v0.1 beta3", "2008-05-14"],
|
||||
["v0.1 beta4", "2008-05-20"],
|
||||
["v0.1 beta5", "2008-05-23"],
|
||||
["v0.1 beta6", "2008-05-27"],
|
||||
["v0.1 beta7", "2008-05-29"],
|
||||
["v0.1 beta8", "2008-05-30"],
|
||||
["v0.1 beta9", "2008-06-03"],
|
||||
["v0.1 beta10", "2008-06-05"],
|
||||
["v0.1 beta12", "2008-06-10"],
|
||||
["v0.2 beta1", "2008-06-12"],
|
||||
["v0.2 beta2", "2008-06-13"],
|
||||
["v0.2 beta3", "2008-06-16"],
|
||||
["v0.2 beta4", "2008-06-17"],
|
||||
["v0.2 beta6", "2008-06-19"],
|
||||
["v0.2 beta7", "2008-06-20"],
|
||||
["v0.2 beta8", "2008-06-23"],
|
||||
["v0.2 beta9", "2008-06-25"],
|
||||
["v0.2 beta10", "2008-06-27"],
|
||||
["v0.2 beta11", "2008-06-30"],
|
||||
["v0.2 beta12", "2008-07-02"],
|
||||
["v0.3 beta1", "2008-07-03"],
|
||||
["v0.3 beta2", "2008-07-07"],
|
||||
["v0.3 beta3", "2008-07-08"],
|
||||
["v0.3 beta4", "2008-07-09"],
|
||||
["v0.3 beta5", "2008-07-12"],
|
||||
["v0.3 beta6", "2008-07-14"],
|
||||
["v0.3 beta8", "2008-07-16"],
|
||||
["v0.3 beta9", "2008-07-22"],
|
||||
["v0.3 beta10", "2008-07-23"],
|
||||
["v0.3 beta11", "2008-07-24"],
|
||||
["v0.3 beta12", "2008-07-31"],
|
||||
["v0.4 beta1", "2008-08-05"],
|
||||
["v0.4 beta2", "2008-08-08"],
|
||||
["v0.4 beta3", "2008-08-12"],
|
||||
["v0.4 beta4", "2008-08-13"],
|
||||
["v0.4 beta5", "2008-08-15"],
|
||||
["v0.4 beta6", "2008-08-19"],
|
||||
["v1.0", "2008-08-26"],
|
||||
["v1.1 beta1", "2008-08-29"],
|
||||
["v1.1 beta3", "2008-08-31"],
|
||||
["v1.1 beta4", "2008-09-01"],
|
||||
["v1.1 beta5", "2008-09-02"],
|
||||
["v1.1 beta6", "2008-09-04"],
|
||||
["v1.1 beta7", "2008-09-08"],
|
||||
["v1.1", "2008-09-09"],
|
||||
["v1.2 beta1", "2008-09-19"],
|
||||
["v1.2 beta2", "2008-09-22"],
|
||||
["v1.2 beta3", "2008-09-25"],
|
||||
["v1.2 beta4", "2008-09-27"],
|
||||
["v1.2 beta5", "2008-10-15"],
|
||||
["v1.2 beta6", "2008-10-20"],
|
||||
["v1.2 beta7", "2008-10-28"],
|
||||
["v1.2 beta8", "2009-02-23"],
|
||||
["v1.2 beta9", "2009-02-27"],
|
||||
["v1.3.0", "2009-03-03"],
|
||||
["v1.3.1", "2009-03-25"],
|
||||
["v2.0 beta1", "2009-07-05"],
|
||||
["v2.0 beta2", "2009-07-13"],
|
||||
["v2.0 beta3", "2009-07-22"],
|
||||
["v2.0 beta4", "2009-08-02"],
|
||||
["v2.0 beta5", "2009-08-09"],
|
||||
["v2.0.6", "2009-08-14"],
|
||||
["v2.0.7", "2009-08-25"],
|
||||
["v2.0.8", "2009-08-29"],
|
||||
["v2.0.9", "2009-09-01"],
|
||||
["v2.1.0", "2009-09-06"],
|
||||
["v2.1.1", "2009-09-15"],
|
||||
["v2.1.2", "2009-09-27"],
|
||||
["v2.1.3", "2009-10-19"],
|
||||
["v2.1.4", "2009-11-17"],
|
||||
["v2.1.5", "2009-11-21"],
|
||||
["v2.1.6", "2009-11-26"],
|
||||
["v2.1.7", "2009-12-01"],
|
||||
["v2.1.8", "2009-12-06"],
|
||||
["v2.1.9", "2010-01-06"],
|
||||
["v2.2.0", "2010-01-31"],
|
||||
["v2.2.1", "2010-03-28"],
|
||||
["v2.3.1", "2010-06-30"],
|
||||
["v2.3.2", "2010-09-29"],
|
||||
["v2.3.3", "2011-02-22"],
|
||||
["v2.3.4", "2011-05-02"],
|
||||
["v2.3.5", "2011-05-09"],
|
||||
["v3.0.0", "2012-01-28"],
|
||||
["v3.0.1", "2012-02-05"],
|
||||
["v3.1.0", "2012-03-04"],
|
||||
["v3.1.1", "2012-04-02"],
|
||||
["v3.1.2", "2012-04-04"],
|
||||
["v3.1.3", "2012-04-08"],
|
||||
["v3.1.4", "2012-04-24"],
|
||||
["v3.1.5", "2012-05-06"],
|
||||
["v3.1.6", "2012-05-20"],
|
||||
["v3.1.7", "2012-06-03"],
|
||||
["v3.1.8", "2012-06-24"],
|
||||
["v3.1.9", "2012-08-18"],
|
||||
["v3.2.0", "2012-11-18"],
|
||||
["v3.2.1", "2012-11-25"],
|
||||
["v3.2.2", "2012-12-03"],
|
||||
["v3.2.3", "2013-01-09"],
|
||||
["v3.2.4", "2013-03-23"],
|
||||
["v3.2.5", "2013-04-27"],
|
||||
["v3.2.6", "2013-05-21"],
|
||||
["v3.3.0", "2013-06-17"],
|
||||
["v3.3.1", "2013-07-29"],
|
||||
["v4.0.1 beta", "2013-10-28"],
|
||||
["v3.3.2", "2013-11-21"],
|
||||
["v4.0.2 beta", "2013-12-14"],
|
||||
["v3.3.3", "2014-01-20"],
|
||||
["v4.0.3 beta", "2014-01-20"]
|
||||
];
|
||||
|
||||
// 初始化第一个数据
|
||||
data[0][2] = 0;
|
||||
|
||||
var i = 1, count = data.length;
|
||||
for (; i < count; i++) {
|
||||
data[i][2] = (new Date(data[i][1]) - new Date(data[i - 1][1])) / (24 * 60 * 60 * 1000);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,169 +1,558 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="FineUI.Examples._default" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title>FineUI 在线示例 - 基于 ExtJS 的专业 ASP.NET 控件库</title>
|
||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
|
||||
<meta name="Title" content="基于 ExtJS 的专业 ASP.NET 控件库,拥有原生的 AJAX 支持和华丽的UI效果 (ExtJS based ASP.NET Controls with native AJAX Support and rich UI effects)" />
|
||||
<meta name="Description" content="FineUI 的使命是创建 No JavaScript,No CSS,No UpdatePanel,No ViewState,No WebServices 的网站应用程序" />
|
||||
<meta name="Keywords" content="extjs,ext,asp.net,control,asp.net 2.0,ajax,web2.0" />
|
||||
<link href="css/default.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" AutoSizePanelID="RegionPanel1" runat="server"></x:PageManager>
|
||||
<x:RegionPanel ID="RegionPanel1" ShowBorder="false" runat="server">
|
||||
<Regions>
|
||||
<x:Region ID="Region1" Margins="0 0 0 0" ShowBorder="false" Height="50px" ShowHeader="false"
|
||||
Position="Top" Layout="Fit" runat="server">
|
||||
<Items>
|
||||
<x:ContentPanel ShowBorder="false" CssClass="jumbotron" ShowHeader="false" ID="ContentPanel1"
|
||||
runat="server">
|
||||
<div class="title">
|
||||
<a href="http://fineui.com/" title="FineUI首页" class="logo">
|
||||
<img src="./images/logo/logo2.gif" alt="FineUI Logo" /></a>
|
||||
<a href="./default.aspx">FineUI在线示例</a>
|
||||
</div>
|
||||
<div class="config">
|
||||
<x:Button ID="Button2" EnablePostBack="false" Icon="Cog" Text="设置" runat="server">
|
||||
<Menu ID="Menu1" runat="server">
|
||||
<x:MenuButton ID="btnExpandAll" IconUrl="~/images/expand-all.gif" Text="展开菜单" EnablePostBack="false"
|
||||
runat="server">
|
||||
</x:MenuButton>
|
||||
<x:MenuButton ID="btnCollapseAll" IconUrl="~/images/collapse-all.gif" Text="折叠菜单"
|
||||
EnablePostBack="false" runat="server">
|
||||
</x:MenuButton>
|
||||
<x:MenuSeparator ID="MenuSeparator1" runat="server">
|
||||
</x:MenuSeparator>
|
||||
<x:MenuButton EnablePostBack="false" Text="菜单样式" ID="MenuStyle" runat="server">
|
||||
<Menu ID="Menu3" runat="server">
|
||||
<x:MenuCheckBox Text="树菜单" ID="MenuStyleTree" Checked="true" GroupName="MenuStyle"
|
||||
AutoPostBack="true" OnCheckedChanged="MenuStyle_CheckedChanged" runat="server">
|
||||
</x:MenuCheckBox>
|
||||
<x:MenuCheckBox Text="手风琴+树菜单" ID="MenuStyleAccordion" GroupName="MenuStyle" AutoPostBack="true"
|
||||
OnCheckedChanged="MenuStyle_CheckedChanged" runat="server">
|
||||
</x:MenuCheckBox>
|
||||
</Menu>
|
||||
</x:MenuButton>
|
||||
<x:MenuButton EnablePostBack="false" Text="语言" ID="MenuLang" runat="server">
|
||||
<Menu ID="Menu2" runat="server">
|
||||
<x:MenuCheckBox Text="简体中文" ID="MenuLangZHCN" Checked="true" GroupName="MenuLang"
|
||||
AutoPostBack="true" OnCheckedChanged="MenuLang_CheckedChanged" runat="server">
|
||||
</x:MenuCheckBox>
|
||||
<x:MenuCheckBox Text="繁體中文" ID="MenuLangZHTW" GroupName="MenuLang" AutoPostBack="true"
|
||||
OnCheckedChanged="MenuLang_CheckedChanged" runat="server">
|
||||
</x:MenuCheckBox>
|
||||
<x:MenuCheckBox Text="English" ID="MenuLangEN" GroupName="MenuLang" AutoPostBack="true"
|
||||
OnCheckedChanged="MenuLang_CheckedChanged" runat="server">
|
||||
</x:MenuCheckBox>
|
||||
</Menu>
|
||||
</x:MenuButton>
|
||||
<x:MenuButton ID="MenuTheme" EnablePostBack="false" Text="主题" runat="server">
|
||||
<Menu ID="Menu4" runat="server">
|
||||
<x:MenuCheckBox Text="Neptune" ID="MenuThemeNeptune" Checked="true" GroupName="MenuTheme"
|
||||
AutoPostBack="true" OnCheckedChanged="MenuTheme_CheckedChanged" runat="server">
|
||||
</x:MenuCheckBox>
|
||||
<x:MenuCheckBox Text="Blue" ID="MenuThemeBlue" GroupName="MenuTheme"
|
||||
AutoPostBack="true" OnCheckedChanged="MenuTheme_CheckedChanged" runat="server">
|
||||
</x:MenuCheckBox>
|
||||
<x:MenuCheckBox Text="Gray" ID="MenuThemeGray" GroupName="MenuTheme" AutoPostBack="true"
|
||||
OnCheckedChanged="MenuTheme_CheckedChanged" runat="server">
|
||||
</x:MenuCheckBox>
|
||||
<x:MenuCheckBox Text="Access" ID="MenuThemeAccess" GroupName="MenuTheme" AutoPostBack="true"
|
||||
OnCheckedChanged="MenuTheme_CheckedChanged" runat="server">
|
||||
</x:MenuCheckBox>
|
||||
</Menu>
|
||||
</x:MenuButton>
|
||||
<x:MenuSeparator ID="MenuSeparator2" runat="server">
|
||||
</x:MenuSeparator>
|
||||
<x:MenuHyperLink runat="server" Text="转到英文示例" NavigateUrl="http://fineui.com/demo_en/" Target="_blank"></x:MenuHyperLink>
|
||||
</Menu>
|
||||
</x:Button>
|
||||
</div>
|
||||
</x:ContentPanel>
|
||||
</Items>
|
||||
</x:Region>
|
||||
<x:Region ID="Region2" Split="true" Width="200px" ShowHeader="true" Title="示例菜单"
|
||||
EnableCollapse="true" Layout="Fit" Position="Left" runat="server">
|
||||
</x:Region>
|
||||
<x:Region ID="mainRegion" ShowHeader="false" Layout="Fit" Margins="0 0 0 0" Position="Center"
|
||||
runat="server">
|
||||
<Items>
|
||||
<x:TabStrip ID="mainTabStrip" EnableTabCloseMenu="true" EnableFrame="false" ShowBorder="false" runat="server">
|
||||
<Tabs>
|
||||
<x:Tab Title="首页" Layout="Fit" Icon="House" CssClass="maincontent" runat="server">
|
||||
<Toolbars>
|
||||
<x:Toolbar runat="server">
|
||||
<Items>
|
||||
<x:ToolbarFill ID="ToolbarFill2" runat="server">
|
||||
</x:ToolbarFill>
|
||||
<x:Button ID="btnGotoOpenSourceSite" Icon="DiskDownload" Text="下载全部示例" OnClientClick="window.open('http://fineui.codeplex.com/', '_blank');"
|
||||
EnablePostBack="false" runat="server">
|
||||
</x:Button>
|
||||
<x:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
||||
</x:ToolbarSeparator>
|
||||
<x:Button Icon="PageGo" Text="官网首页" EnablePostBack="false" OnClientClick="window.open('http://fineui.com/', '_blank');"
|
||||
runat="server">
|
||||
</x:Button>
|
||||
<x:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
|
||||
</x:ToolbarSeparator>
|
||||
<x:Button ID="Button1" Icon="PageGo" Text="论坛交流" OnClientClick="window.open('http://fineui.com/bbs/', '_blank');"
|
||||
EnablePostBack="false" runat="server">
|
||||
</x:Button>
|
||||
</Items>
|
||||
</x:Toolbar>
|
||||
</Toolbars>
|
||||
<Items>
|
||||
<x:ContentPanel ShowBorder="false" BodyPadding="10px" ShowHeader="false" AutoScroll="true"
|
||||
runat="server">
|
||||
<h2>关于FineUI</h2>
|
||||
基于 ExtJS 的专业 ASP.NET 控件库。
|
||||
|
||||
<br />
|
||||
<h2>FineUI的使命</h2>
|
||||
创建 No JavaScript,No CSS,No UpdatePanel,No ViewState,No WebServices 的网站应用程序。
|
||||
|
||||
<br />
|
||||
<h2>支持的浏览器</h2>
|
||||
IE 7.0+、Firefox 3.6+、Chrome 3.0+、Opera 10.5+、Safari 3.0+
|
||||
|
||||
<br />
|
||||
<h2>授权协议</h2>
|
||||
Apache License v2.0(ExtJS 库在 <a target="_blank" href="http://www.sencha.com/license">GPL v3</a> 协议下发布)
|
||||
|
||||
<br />
|
||||
<h2>相关链接</h2>
|
||||
首页:<a target="_blank" style="font-weight: bold;" href="http://fineui.com/">http://fineui.com/</a>
|
||||
<br />
|
||||
论坛:<a target="_blank" href="http://fineui.com/bbs/">http://fineui.com/bbs/</a>
|
||||
<br />
|
||||
示例:<a target="_blank" href="http://fineui.com/demo/">http://fineui.com/demo/</a>
|
||||
<br />
|
||||
文档:<a target="_blank" href="http://fineui.com/doc/">http://fineui.com/doc/</a>
|
||||
<br />
|
||||
下载:<a target="_blank" href="http://fineui.codeplex.com/">http://fineui.codeplex.com/</a>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
注:FineUI 不再内置 ExtJS 库,请手工添加 ExtJS 库:<a target="_blank" href="http://fineui.com/bbs/forum.php?mod=viewthread&tid=3218">http://fineui.com/bbs/forum.php?mod=viewthread&tid=3218</a>
|
||||
|
||||
</x:ContentPanel>
|
||||
</Items>
|
||||
</x:Tab>
|
||||
</Tabs>
|
||||
</x:TabStrip>
|
||||
</Items>
|
||||
</x:Region>
|
||||
</Regions>
|
||||
</x:RegionPanel>
|
||||
<x:Window ID="windowSourceCode" Icon="PageWhiteCode" Title="源代码" Hidden="true" EnableIFrame="true"
|
||||
runat="server" IsModal="true" Width="950px" Height="550px" EnableClose="true"
|
||||
EnableMaximize="true" EnableResize="true">
|
||||
</x:Window>
|
||||
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/common/menu.xml"></asp:XmlDataSource>
|
||||
</form>
|
||||
<img src="images/logo/logo3.png" alt="FineUI 图标" id="logo" />
|
||||
<script src="./js/default.js" type="text/javascript"></script>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="FineUI.Examples._default" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title>FineUI(开源版)在线示例 - 基于 ExtJS 的开源 ASP.NET 控件库</title>
|
||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
|
||||
<meta name="Title" content="基于 ExtJS 的开源 ASP.NET 控件库(ExtJS based open source ASP.NET Controls)" />
|
||||
<meta name="Description" content="FineUI 的使命是创建 No JavaScript,No CSS,No UpdatePanel,No ViewState,No WebServices 的网站应用程序" />
|
||||
<meta name="Keywords" content="开源,ASP.NET,控件库,ExtJS,AJAX,Web2.0" />
|
||||
<style>
|
||||
#header {
|
||||
position: relative;
|
||||
padding: 10px 10px 8px;
|
||||
}
|
||||
|
||||
#header a.logo {
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#header a.title {
|
||||
font-weight: bold;
|
||||
font-size: 24px;
|
||||
text-decoration: none;
|
||||
line-height: 36px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
#header .themeroller {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
}
|
||||
|
||||
#header .themeroller a {
|
||||
font-size: 20px;
|
||||
text-decoration: none;
|
||||
line-height: 36px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
#logo {
|
||||
position: absolute;
|
||||
bottom: 20px;
|
||||
right: 0;
|
||||
filter: alpha(opacity=80);
|
||||
-moz-opacity: 0.8;
|
||||
opacity: 0.8;
|
||||
z-index: 100000;
|
||||
}
|
||||
|
||||
.isnew {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.bottomtable {
|
||||
width: 100%;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* 修正选项卡标题中放置红色[New!]时,底部出现的一行空白线 */
|
||||
.f-theme-neptune .x-tab .x-tab-inner {
|
||||
line-height: 16px !important;
|
||||
}
|
||||
|
||||
|
||||
/* 主题相关样式 - neptune */
|
||||
.f-theme-neptune #header,
|
||||
.f-theme-neptune .bottomtable,
|
||||
.f-theme-neptune .x-splitter {
|
||||
background-color: #1475BB;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.f-theme-neptune #header a,
|
||||
.f-theme-neptune .bottomtable a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
/* 主题相关样式 - blue */
|
||||
.f-theme-blue #header,
|
||||
.f-theme-blue .bottomtable {
|
||||
background-color: #DFE8F6;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.f-theme-blue #header a,
|
||||
.f-theme-blue .bottomtable a {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/* 主题相关样式 - gray */
|
||||
.f-theme-gray #header,
|
||||
.f-theme-gray .bottomtable {
|
||||
background-color: #E0E0E0;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.f-theme-gray #header a,
|
||||
.f-theme-gray .bottomtable a {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
/* 主题相关样式 - access */
|
||||
.f-theme-access #header,
|
||||
.f-theme-access .bottomtable {
|
||||
background-color: #3F4757;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.f-theme-access #header a,
|
||||
.f-theme-access .bottomtable a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.f-theme-access .maincontent .x-panel-body {
|
||||
background-image: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="RegionPanel1" runat="server"></f:PageManager>
|
||||
<f:RegionPanel ID="RegionPanel1" ShowBorder="false" runat="server">
|
||||
<Regions>
|
||||
<f:Region ID="Region1" ShowBorder="false" ShowHeader="false"
|
||||
Position="Top" Layout="Fit" runat="server">
|
||||
<Content>
|
||||
<div id="header">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<a class="logo" href="http://fineui.com/" title="FineUI首页">
|
||||
<img src="./res/images/logo/logo2.gif" alt="FineUI Logo" />
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="title" href="./default.aspx">FineUI(开源版)在线示例</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="themeroller">
|
||||
<a href="http://fineui.com/demo_pro" target="_blank" title="转到专业版示例">专业版示例
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</Content>
|
||||
</f:Region>
|
||||
<f:Region ID="leftPanel" RegionSplit="true" Width="220px" ShowHeader="true" ShowBorder="true" Title="全部示例"
|
||||
EnableCollapse="true" Layout="Fit" Collapsed="false" RegionPosition="Left" runat="server">
|
||||
</f:Region>
|
||||
<f:Region ID="mainRegion" ShowHeader="false" Layout="Fit" ShowBorder="true" Position="Center"
|
||||
runat="server">
|
||||
<Items>
|
||||
<f:TabStrip ID="mainTabStrip" EnableTabCloseMenu="true" ShowBorder="false" runat="server">
|
||||
<Tabs>
|
||||
<f:Tab Title="首页" Layout="Fit" Icon="House" CssClass="maincontent" runat="server">
|
||||
<Toolbars>
|
||||
<f:Toolbar runat="server">
|
||||
<Items>
|
||||
<f:ToolbarFill ID="ToolbarFill2" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:Button ID="btnGotoOpenSourceSite" Icon="DiskDownload" Text="下载全部源码" OnClientClick="window.open('http://fineui.codeplex.com/', '_blank');"
|
||||
EnablePostBack="false" runat="server">
|
||||
</f:Button>
|
||||
<f:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
|
||||
</f:ToolbarSeparator>
|
||||
<f:Button ID="Button1" Icon="PageGo" Text="论坛交流" OnClientClick="window.open('http://fineui.com/bbs/', '_blank');"
|
||||
EnablePostBack="false" runat="server">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Items>
|
||||
<f:ContentPanel ShowBorder="false" BodyPadding="10px" ShowHeader="false" AutoScroll="true"
|
||||
runat="server">
|
||||
<h2>FineUI(开源版)</h2>
|
||||
基于 ExtJS 的开源 ASP.NET 控件库
|
||||
|
||||
<br />
|
||||
<h2>FineUI的使命</h2>
|
||||
创建 No JavaScript,No CSS,No UpdatePanel,No ViewState,No WebServices 的网站应用程序
|
||||
|
||||
<br />
|
||||
<h2>支持的浏览器</h2>
|
||||
Chrome、Firefox、Safari、IE 8.0+
|
||||
|
||||
<br />
|
||||
<h2>授权协议</h2>
|
||||
Apache License v2.0(ExtJS 库在 <a target="_blank" href="http://www.sencha.com/license">GPL v3</a> 协议下发布)
|
||||
|
||||
<br />
|
||||
<h2>相关链接</h2>
|
||||
首页:<a target="_blank" href="http://fineui.com/">http://fineui.com/</a>
|
||||
<br />
|
||||
论坛:<a target="_blank" href="http://fineui.com/bbs/">http://fineui.com/bbs/</a>
|
||||
<br />
|
||||
示例:<a target="_blank" href="http://fineui.com/demo/">http://fineui.com/demo/</a>
|
||||
<br />
|
||||
文档:<a target="_blank" href="http://fineui.com/doc/">http://fineui.com/doc/</a>
|
||||
<br />
|
||||
下载:<a target="_blank" href="http://fineui.codeplex.com/">http://fineui.codeplex.com/</a>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
注:FineUI 不再内置 ExtJS 库,请手工添加 ExtJS 库:<a target="_blank" href="http://fineui.com/bbs/forum.php?mod=viewthread&tid=3218">http://fineui.com/bbs/forum.php?mod=viewthread&tid=3218</a>
|
||||
|
||||
|
||||
<div style="position: fixed; bottom: 30px; right: 10px; text-align: center; border: solid 1px #ddd; padding: 10px; background-color: #efefef;">
|
||||
<div style="margin-bottom: 5px;">
|
||||
扫描二维码,关注 FineUI 微信公众号
|
||||
</div>
|
||||
<img src="http://fineui.com/images/weixin_fineui.jpg" style="width: 150px;" alert="关注 FineUI 微信公众号">
|
||||
</div>
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:Tab>
|
||||
</Tabs>
|
||||
</f:TabStrip>
|
||||
</Items>
|
||||
</f:Region>
|
||||
<f:Region ID="bottomPanel" RegionPosition="Bottom" ShowBorder="false" ShowHeader="false" EnableCollapse="false" runat="server" Layout="Fit">
|
||||
<Items>
|
||||
<f:ContentPanel runat="server" ShowBorder="false" ShowHeader="false">
|
||||
<table class="bottomtable">
|
||||
<tr>
|
||||
<td style="width: 300px;"> 版本:<a target="_blank" href="http://fineui.com/version">v<asp:Literal runat="server" ID="litVersion"></asp:Literal></a>
|
||||
<a target="_blank" href="http://wp.qq.com/wpa/qunwpa?idkey=5a98eb42b742a1edaf22826648d5f61bc16ed08e0253976bc8d30f97508c09c7">QQ公开群</a></td>
|
||||
<td style="text-align: center;">Copyright © 2014 合肥三生石上软件有限公司</td>
|
||||
<td style="width: 300px; text-align: right;">在线人数:<asp:Literal runat="server" ID="litOnlineUserCount"></asp:Literal> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:Region>
|
||||
</Regions>
|
||||
</f:RegionPanel>
|
||||
<f:Window ID="windowSourceCode" Icon="PageWhiteCode" Title="源代码" Hidden="true" EnableIFrame="true"
|
||||
runat="server" IsModal="true" Width="950px" Height="550px" EnableClose="true"
|
||||
EnableMaximize="true" EnableResize="true">
|
||||
</f:Window>
|
||||
<f:Menu ID="menuSettings" runat="server">
|
||||
<f:MenuButton ID="btnExpandAll" IconUrl="~/res/images/expand-all.gif" Text="展开菜单" EnablePostBack="false"
|
||||
runat="server">
|
||||
</f:MenuButton>
|
||||
<f:MenuButton ID="btnCollapseAll" IconUrl="~/res/images/collapse-all.gif" Text="折叠菜单"
|
||||
EnablePostBack="false" runat="server">
|
||||
</f:MenuButton>
|
||||
<f:MenuSeparator ID="MenuSeparator4" runat="server">
|
||||
</f:MenuSeparator>
|
||||
<f:MenuCheckBox runat="server" ID="cbxShowOnlyNew" Text="仅显示最新示例">
|
||||
</f:MenuCheckBox>
|
||||
<f:MenuSeparator ID="MenuSeparator1" runat="server">
|
||||
</f:MenuSeparator>
|
||||
<f:MenuButton EnablePostBack="false" Text="菜单样式" ID="MenuStyle" runat="server">
|
||||
<Menu runat="server">
|
||||
<f:MenuCheckBox Text="树菜单" ID="MenuStyleTree" Checked="true" GroupName="MenuStyle" runat="server">
|
||||
</f:MenuCheckBox>
|
||||
<f:MenuCheckBox Text="手风琴+树菜单" ID="MenuStyleAccordion" GroupName="MenuStyle" runat="server">
|
||||
</f:MenuCheckBox>
|
||||
</Menu>
|
||||
</f:MenuButton>
|
||||
<f:MenuButton EnablePostBack="false" Text="语言" ID="MenuLang" runat="server">
|
||||
<Menu ID="Menu2" runat="server">
|
||||
<f:MenuCheckBox Text="简体中文" ID="MenuLangZHCN" Checked="true" GroupName="MenuLang" runat="server">
|
||||
</f:MenuCheckBox>
|
||||
<f:MenuCheckBox Text="繁體中文" ID="MenuLangZHTW" GroupName="MenuLang" runat="server">
|
||||
</f:MenuCheckBox>
|
||||
<f:MenuCheckBox Text="English" ID="MenuLangEN" GroupName="MenuLang" runat="server">
|
||||
</f:MenuCheckBox>
|
||||
</Menu>
|
||||
</f:MenuButton>
|
||||
<f:MenuButton ID="MenuTheme" EnablePostBack="false" Text="主题" runat="server">
|
||||
<Menu ID="Menu4" runat="server">
|
||||
<f:MenuCheckBox Text="Neptune" ID="MenuThemeNeptune" Checked="true" GroupName="MenuTheme" runat="server">
|
||||
</f:MenuCheckBox>
|
||||
<f:MenuCheckBox Text="Blue" ID="MenuThemeBlue" GroupName="MenuTheme" runat="server">
|
||||
</f:MenuCheckBox>
|
||||
<f:MenuCheckBox Text="Gray" ID="MenuThemeGray" GroupName="MenuTheme" runat="server">
|
||||
</f:MenuCheckBox>
|
||||
<f:MenuCheckBox Text="Access" ID="MenuThemeAccess" GroupName="MenuTheme" runat="server">
|
||||
</f:MenuCheckBox>
|
||||
</Menu>
|
||||
</f:MenuButton>
|
||||
<f:MenuSeparator ID="MenuSeparator2" runat="server">
|
||||
</f:MenuSeparator>
|
||||
<f:MenuHyperLink ID="MenuHyperLink2" runat="server" Text="转到 v3.x 中文示例" NavigateUrl="http://fineui.com/demo_v3/" Target="_blank">
|
||||
</f:MenuHyperLink>
|
||||
<f:MenuHyperLink ID="MenuHyperLink1" runat="server" Text="转到 v3.x 英文示例" NavigateUrl="http://fineui.com/demo_en/" Target="_blank">
|
||||
</f:MenuHyperLink>
|
||||
<f:MenuSeparator ID="MenuSeparator3" runat="server">
|
||||
</f:MenuSeparator>
|
||||
<f:MenuHyperLink ID="MenuHyperLink3" runat="server" Text="转到专业版示例" NavigateUrl="http://fineui.com/demo_pro/" Target="_blank">
|
||||
</f:MenuHyperLink>
|
||||
</f:Menu>
|
||||
<asp:XmlDataSource ID="XmlDataSource1" runat="server" EnableCaching="false" DataFile="~/common/menu.xml"></asp:XmlDataSource>
|
||||
</form>
|
||||
<!--
|
||||
<img src="./res/images/logo/logo3.png" alt="FineUI 图标" id="logo" />
|
||||
-->
|
||||
<script src="./res/js/jquery.min.js"></script>
|
||||
<script>
|
||||
|
||||
var btnExpandAllClientID = '<%= btnExpandAll.ClientID %>';
|
||||
var btnCollapseAllClientID = '<%= btnCollapseAll.ClientID %>';
|
||||
var leftPanelClientID = '<%= leftPanel.ClientID %>';
|
||||
var mainTabStripClientID = '<%= mainTabStrip.ClientID %>';
|
||||
var windowSourceCodeClientID = '<%= windowSourceCode.ClientID %>';
|
||||
var menuSettingsClientID = '<%= menuSettings.ClientID %>';
|
||||
var cbxShowOnlyNewClientID = '<%= cbxShowOnlyNew.ClientID %>';
|
||||
|
||||
var MenuStyleClientID = '<%= MenuStyle.ClientID %>';
|
||||
var MenuLangClientID = '<%= MenuLang.ClientID %>';
|
||||
var MenuThemeClientID = '<%= MenuTheme.ClientID %>';
|
||||
|
||||
|
||||
F.ready(function () {
|
||||
var btnExpandAll = F(btnExpandAllClientID);
|
||||
var btnCollapseAll = F(btnCollapseAllClientID);
|
||||
var leftPanel = F(leftPanelClientID);
|
||||
var mainTabStrip = F(mainTabStripClientID);
|
||||
var windowSourceCode = F(windowSourceCodeClientID);
|
||||
var menuSettings = F(menuSettingsClientID);
|
||||
var cbxShowOnlyNew = F(cbxShowOnlyNewClientID);
|
||||
|
||||
var MenuStyle = F(MenuStyleClientID);
|
||||
var MenuLang = F(MenuLangClientID);
|
||||
var MenuTheme = F(MenuThemeClientID);
|
||||
|
||||
var mainMenu = leftPanel.items.getAt(0);
|
||||
var menuType = 'accordion';
|
||||
if (mainMenu.isXType('treepanel')) {
|
||||
menuType = 'menu';
|
||||
}
|
||||
|
||||
// 当前展开的手风琴面板
|
||||
function getExpandedPanel() {
|
||||
var panel = null;
|
||||
mainMenu.items.each(function (item) {
|
||||
if (!item.getCollapsed()) {
|
||||
panel = item;
|
||||
}
|
||||
});
|
||||
return panel;
|
||||
}
|
||||
|
||||
// 点击展开菜单
|
||||
btnExpandAll.on('click', function () {
|
||||
if (menuType == 'menu') {
|
||||
// 左侧为树控件
|
||||
mainMenu.expandAll();
|
||||
} else {
|
||||
// 左侧为树控件+手风琴控件
|
||||
var expandedPanel = getExpandedPanel();
|
||||
if (expandedPanel) {
|
||||
expandedPanel.items.getAt(0).expandAll();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 点击折叠菜单
|
||||
btnCollapseAll.on('click', function () {
|
||||
if (menuType == 'menu') {
|
||||
// 左侧为树控件
|
||||
mainMenu.collapseAll();
|
||||
} else {
|
||||
// 左侧为树控件+手风琴控件
|
||||
var expandedPanel = getExpandedPanel();
|
||||
if (expandedPanel) {
|
||||
expandedPanel.items.getAt(0).collapseAll();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 点击仅显示最新示例
|
||||
cbxShowOnlyNew.on('click', function () {
|
||||
var checked = this.checked;
|
||||
if (checked) {
|
||||
F.cookie('ShowOnlyNew_v4', checked, {
|
||||
expires: 100 // 单位:天
|
||||
});
|
||||
} else {
|
||||
F.removeCookie('ShowOnlyNew_v4');
|
||||
}
|
||||
top.window.location.reload();
|
||||
});
|
||||
|
||||
// 点击菜单样式
|
||||
function MenuStyleItemCheckChange(cmp, checked) {
|
||||
if (checked) {
|
||||
var menuStyle = 'accordion';
|
||||
if (cmp.id.indexOf('MenuStyleTree') >= 0) {
|
||||
menuStyle = 'tree';
|
||||
}
|
||||
F.cookie('MenuStyle_v4', menuStyle, {
|
||||
expires: 100 // 单位:天
|
||||
});
|
||||
top.window.location.reload();
|
||||
}
|
||||
}
|
||||
MenuStyle.menu.items.each(function (item, index) {
|
||||
item.on('checkchange', MenuStyleItemCheckChange);
|
||||
});
|
||||
|
||||
|
||||
// 切换语言
|
||||
function MenuLangItemCheckChange(cmp, checked) {
|
||||
if (checked) {
|
||||
var lang = 'en';
|
||||
if (cmp.id.indexOf('MenuLangZHCN') >= 0) {
|
||||
lang = 'zh_CN';
|
||||
} else if (cmp.id.indexOf('MenuLangZHTW') >= 0) {
|
||||
lang = 'zh_TW';
|
||||
}
|
||||
|
||||
F.cookie('Language_v4', lang, {
|
||||
expires: 100 // 单位:天
|
||||
});
|
||||
top.window.location.reload();
|
||||
}
|
||||
}
|
||||
MenuLang.menu.items.each(function (item, index) {
|
||||
item.on('checkchange', MenuLangItemCheckChange);
|
||||
});
|
||||
|
||||
|
||||
// 切换主题
|
||||
function MenuThemeItemCheckChange(cmp, checked) {
|
||||
if (checked) {
|
||||
var lang = 'neptune';
|
||||
if (cmp.id.indexOf('MenuThemeBlue') >= 0) {
|
||||
lang = 'blue';
|
||||
} else if (cmp.id.indexOf('MenuThemeGray') >= 0) {
|
||||
lang = 'gray';
|
||||
} else if (cmp.id.indexOf('MenuThemeAccess') >= 0) {
|
||||
lang = 'access';
|
||||
}
|
||||
|
||||
F.cookie('Theme_v4', lang, {
|
||||
expires: 100 // 单位:天
|
||||
});
|
||||
top.window.location.reload();
|
||||
}
|
||||
}
|
||||
MenuTheme.menu.items.each(function (item, index) {
|
||||
item.on('checkchange', MenuThemeItemCheckChange);
|
||||
});
|
||||
|
||||
|
||||
function createToolbar(tabConfig) {
|
||||
|
||||
// 由工具栏上按钮获得当前标签页中的iframe节点
|
||||
function getCurrentIFrameNode(btn) {
|
||||
return $('#' + btn.id).parents('.f-tab').find('iframe');
|
||||
}
|
||||
|
||||
var sourcecodeButton = new Ext.Button({
|
||||
text: '源代码',
|
||||
type: 'button',
|
||||
icon: './res/icon/page_white_code.png',
|
||||
listeners: {
|
||||
click: function () {
|
||||
var iframeNode = getCurrentIFrameNode(this);
|
||||
var iframeWnd = iframeNode[0].contentWindow
|
||||
|
||||
var files = [iframeNode.attr('src')];
|
||||
var sourcefilesNode = $(iframeWnd.document).find('head meta[name=sourcefiles]');
|
||||
if (sourcefilesNode.length) {
|
||||
$.merge(files, sourcefilesNode.attr('content').split(';'));
|
||||
}
|
||||
windowSourceCode.f_show('./common/source.aspx?files=' + encodeURIComponent(files.join(';')));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var openNewWindowButton = new Ext.Button({
|
||||
text: '新标签页中打开',
|
||||
type: 'button',
|
||||
icon: './res/icon/tab_go.png',
|
||||
listeners: {
|
||||
click: function () {
|
||||
var iframeNode = getCurrentIFrameNode(this);
|
||||
window.open(iframeNode.attr('src'), '_blank');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var refreshButton = new Ext.Button({
|
||||
text: '刷新',
|
||||
type: 'button',
|
||||
icon: './res/icon/reload.png',
|
||||
listeners: {
|
||||
click: function () {
|
||||
var iframeNode = getCurrentIFrameNode(this);
|
||||
iframeNode[0].contentWindow.location.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var toolbar = new Ext.Toolbar({
|
||||
items: ['->', sourcecodeButton, '-', refreshButton, '-', openNewWindowButton]
|
||||
});
|
||||
|
||||
tabConfig['tbar'] = toolbar;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 初始化主框架中的树(或者Accordion+Tree)和选项卡互动,以及地址栏的更新
|
||||
// treeMenu: 主框架中的树控件实例,或者内嵌树控件的手风琴控件实例
|
||||
// mainTabStrip: 选项卡实例
|
||||
// createToolbar: 创建选项卡前的回调函数(接受tabConfig参数)
|
||||
// updateLocationHash: 切换Tab时,是否更新地址栏Hash值
|
||||
// refreshWhenExist: 添加选项卡时,如果选项卡已经存在,是否刷新内部IFrame
|
||||
// refreshWhenTabChange: 切换选项卡时,是否刷新内部IFrame
|
||||
F.util.initTreeTabStrip(mainMenu, mainTabStrip, createToolbar, true, false, false);
|
||||
|
||||
|
||||
|
||||
// 添加示例标签页
|
||||
window.addExampleTab = function (id, url, text, icon, refreshWhenExist) {
|
||||
// 动态添加一个标签页
|
||||
// mainTabStrip: 选项卡实例
|
||||
// id: 选项卡ID
|
||||
// url: 选项卡IFrame地址
|
||||
// text: 选项卡标题
|
||||
// icon: 选项卡图标
|
||||
// addTabCallback: 创建选项卡前的回调函数(接受tabConfig参数)
|
||||
// refreshWhenExist: 添加选项卡时,如果选项卡已经存在,是否刷新内部IFrame
|
||||
F.util.addMainTab(mainTabStrip, id, url, text, icon, null, refreshWhenExist);
|
||||
};
|
||||
|
||||
// 移除选中标签页
|
||||
window.removeActiveTab = function () {
|
||||
var activeTab = mainTabStrip.getActiveTab();
|
||||
mainTabStrip.removeTab(activeTab.id);
|
||||
};
|
||||
|
||||
|
||||
// 添加工具图标,并在点击时显示上下文菜单
|
||||
leftPanel.addTool({
|
||||
type: 'gear',
|
||||
//tooltip: '系统设置',
|
||||
handler: function (event) {
|
||||
menuSettings.showBy(this);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,413 +1,391 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
using System.Xml;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace FineUI.Examples
|
||||
{
|
||||
public partial class _default : PageBase
|
||||
{
|
||||
#region Page_Init
|
||||
|
||||
protected void Page_Init(object sender, EventArgs e)
|
||||
{
|
||||
string menuType = "menu";
|
||||
HttpCookie menuCookie = Request.Cookies["MenuStyle"];
|
||||
if (menuCookie != null)
|
||||
{
|
||||
menuType = menuCookie.Value;
|
||||
}
|
||||
|
||||
// 注册客户端脚本,服务器端控件ID和客户端ID的映射关系
|
||||
JObject ids = GetClientIDS(btnExpandAll, btnCollapseAll, windowSourceCode, mainTabStrip);
|
||||
|
||||
if (menuType == "accordion")
|
||||
{
|
||||
Accordion accordionMenu = InitAccordionMenu();
|
||||
ids.Add("mainMenu", accordionMenu.ClientID);
|
||||
ids.Add("menuType", "accordion");
|
||||
}
|
||||
else
|
||||
{
|
||||
Tree treeMenu = InitTreeMenu();
|
||||
ids.Add("mainMenu", treeMenu.ClientID);
|
||||
ids.Add("menuType", "menu");
|
||||
}
|
||||
|
||||
ids.Add("theme", PageManager.Instance.Theme.ToString());
|
||||
|
||||
// 只在页面第一次加载时注册客户端用到的脚本
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
string idsScriptStr = String.Format("window.IDS={0};", ids.ToString(Newtonsoft.Json.Formatting.None));
|
||||
PageContext.RegisterStartupScript(idsScriptStr);
|
||||
}
|
||||
}
|
||||
|
||||
private Accordion InitAccordionMenu()
|
||||
{
|
||||
Accordion accordionMenu = new Accordion();
|
||||
accordionMenu.ID = "accordionMenu";
|
||||
accordionMenu.EnableFill = true;
|
||||
accordionMenu.ShowBorder = false;
|
||||
accordionMenu.ShowHeader = false;
|
||||
Region2.Items.Add(accordionMenu);
|
||||
|
||||
|
||||
XmlDocument xmlDoc = XmlDataSource1.GetXmlDocument();
|
||||
XmlNodeList xmlNodes = xmlDoc.SelectNodes("/Tree/TreeNode");
|
||||
foreach (XmlNode xmlNode in xmlNodes)
|
||||
{
|
||||
if (xmlNode.HasChildNodes)
|
||||
{
|
||||
AccordionPane accordionPane = new AccordionPane();
|
||||
accordionPane.Title = xmlNode.Attributes["Text"].Value;
|
||||
accordionPane.Layout = Layout.Fit;
|
||||
accordionPane.ShowBorder = false;
|
||||
accordionPane.BodyPadding = "2px 0 0 0";
|
||||
accordionMenu.Items.Add(accordionPane);
|
||||
|
||||
Tree innerTree = new Tree();
|
||||
innerTree.EnableArrows = true;
|
||||
innerTree.ShowBorder = false;
|
||||
innerTree.ShowHeader = false;
|
||||
innerTree.EnableIcons = false;
|
||||
innerTree.AutoScroll = true;
|
||||
accordionPane.Items.Add(innerTree);
|
||||
|
||||
XmlDocument innerXmlDoc = new XmlDocument();
|
||||
innerXmlDoc.LoadXml(String.Format("<?xml version=\"1.0\" encoding=\"utf-8\" ?><Tree>{0}</Tree>", xmlNode.InnerXml));
|
||||
|
||||
// 绑定AccordionPane内部的树控件
|
||||
innerTree.DataSource = innerXmlDoc;
|
||||
innerTree.DataBind();
|
||||
|
||||
// 重新设置每个节点的图标
|
||||
ResolveTreeNode(innerTree.Nodes);
|
||||
}
|
||||
}
|
||||
|
||||
return accordionMenu;
|
||||
}
|
||||
|
||||
private Tree InitTreeMenu()
|
||||
{
|
||||
Tree treeMenu = new Tree();
|
||||
treeMenu.ID = "treeMenu";
|
||||
treeMenu.EnableArrows = true;
|
||||
treeMenu.ShowBorder = false;
|
||||
treeMenu.ShowHeader = false;
|
||||
treeMenu.EnableIcons = false;
|
||||
treeMenu.AutoScroll = true;
|
||||
Region2.Items.Add(treeMenu);
|
||||
|
||||
// 绑定 XML 数据源到树控件
|
||||
treeMenu.DataSource = XmlDataSource1;
|
||||
treeMenu.DataBind();
|
||||
|
||||
// 重新设置每个节点的图标
|
||||
ResolveTreeNode(treeMenu.Nodes);
|
||||
|
||||
return treeMenu;
|
||||
}
|
||||
|
||||
|
||||
private JObject GetClientIDS(params ControlBase[] ctrls)
|
||||
{
|
||||
JObject jo = new JObject();
|
||||
foreach (ControlBase ctrl in ctrls)
|
||||
{
|
||||
jo.Add(ctrl.ID, ctrl.ClientID);
|
||||
}
|
||||
|
||||
return jo;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Page_Load
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
InitMenuStyleButton();
|
||||
InitLangMenuButton();
|
||||
InitThemeMenuButton();
|
||||
|
||||
//// 显示源代码按钮
|
||||
//btnSourceCode.OnClientClick = windowSourceCode.GetShowReference("./common/source.aspx?files=~/default.aspx;~/common/menu.xml;~/Web.config;~/Code/PageBase.cs;~/js/default.js;~/css/default.css");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void InitMenuStyleButton()
|
||||
{
|
||||
string menuStyleID = "MenuStyleTree";
|
||||
|
||||
HttpCookie menuStyleCookie = Request.Cookies["MenuStyle"];
|
||||
if (menuStyleCookie != null)
|
||||
{
|
||||
switch (menuStyleCookie.Value)
|
||||
{
|
||||
case "menu":
|
||||
menuStyleID = "MenuStyleTree";
|
||||
break;
|
||||
case "accordion":
|
||||
menuStyleID = "MenuStyleAccordion";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SetSelectedMenuID(MenuStyle, menuStyleID);
|
||||
}
|
||||
|
||||
|
||||
private void InitLangMenuButton()
|
||||
{
|
||||
string langMenuID = "MenuLangZHCN";
|
||||
|
||||
string langValue = PageManager1.Language.ToString().ToLower();
|
||||
switch (langValue)
|
||||
{
|
||||
case "zh_cn":
|
||||
langMenuID = "MenuLangZHCN";
|
||||
break;
|
||||
case "zh_tw":
|
||||
langMenuID = "MenuLangZHTW";
|
||||
break;
|
||||
case "en":
|
||||
langMenuID = "MenuLangEN";
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
SetSelectedMenuID(MenuLang, langMenuID);
|
||||
}
|
||||
|
||||
private void InitThemeMenuButton()
|
||||
{
|
||||
string themeMenuID = "MenuThemeBlue";
|
||||
|
||||
string themeValue = PageManager1.Theme.ToString().ToLower();
|
||||
switch (themeValue)
|
||||
{
|
||||
case "blue":
|
||||
themeMenuID = "MenuThemeBlue";
|
||||
break;
|
||||
case "gray":
|
||||
themeMenuID = "MenuThemeGray";
|
||||
break;
|
||||
case "access":
|
||||
themeMenuID = "MenuThemeAccess";
|
||||
break;
|
||||
case "neptune":
|
||||
themeMenuID = "MenuThemeNeptune";
|
||||
break;
|
||||
}
|
||||
|
||||
SetSelectedMenuID(MenuTheme, themeMenuID);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Event
|
||||
|
||||
protected void MenuLang_CheckedChanged(object sender, CheckedEventArgs e)
|
||||
{
|
||||
// 单选框菜单按钮的CheckedChanged事件会触发两次,一次是取消选中的菜单项,另一次是选中的菜单项;
|
||||
// 不处理取消选中菜单项的事件,从而防止此函数重复执行两次
|
||||
if (!e.Checked)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
string langValue = FineUI.Language.ZH_CN.ToString();
|
||||
string langID = GetSelectedMenuID(MenuLang);
|
||||
|
||||
switch (langID)
|
||||
{
|
||||
case "MenuLangZHCN":
|
||||
langValue = FineUI.Language.ZH_CN.ToString();
|
||||
break;
|
||||
case "MenuLangZHTW":
|
||||
langValue = FineUI.Language.ZH_TW.ToString();
|
||||
break;
|
||||
case "MenuLangEN":
|
||||
langValue = FineUI.Language.EN.ToString();
|
||||
break;
|
||||
}
|
||||
|
||||
SaveToCookieAndRefresh("Language", langValue);
|
||||
}
|
||||
|
||||
protected void MenuTheme_CheckedChanged(object sender, CheckedEventArgs e)
|
||||
{
|
||||
// 单选框菜单按钮的CheckedChanged事件会触发两次,一次是取消选中的菜单项,另一次是选中的菜单项;
|
||||
// 不处理取消选中菜单项的事件,从而防止此函数重复执行两次
|
||||
if (!e.Checked)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
string themeValue = FineUI.Theme.Neptune.ToString();
|
||||
string themeID = GetSelectedMenuID(MenuTheme);
|
||||
|
||||
switch (themeID)
|
||||
{
|
||||
case "MenuThemeNeptune":
|
||||
themeValue = FineUI.Theme.Neptune.ToString();
|
||||
break;
|
||||
case "MenuThemeBlue":
|
||||
themeValue = FineUI.Theme.Blue.ToString();
|
||||
break;
|
||||
case "MenuThemeGray":
|
||||
themeValue = FineUI.Theme.Gray.ToString();
|
||||
break;
|
||||
case "MenuThemeAccess":
|
||||
themeValue = FineUI.Theme.Access.ToString();
|
||||
break;
|
||||
}
|
||||
|
||||
SaveToCookieAndRefresh("Theme", themeValue);
|
||||
}
|
||||
|
||||
protected void MenuStyle_CheckedChanged(object sender, CheckedEventArgs e)
|
||||
{
|
||||
// 单选框菜单按钮的CheckedChanged事件会触发两次,一次是取消选中的菜单项,另一次是选中的菜单项;
|
||||
// 不处理取消选中菜单项的事件,从而防止此函数重复执行两次
|
||||
if (!e.Checked)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
string menuValue = "menu";
|
||||
string menuStyleID = GetSelectedMenuID(MenuStyle);
|
||||
|
||||
switch (menuStyleID)
|
||||
{
|
||||
case "MenuStyleTree":
|
||||
menuValue = "tree";
|
||||
break;
|
||||
case "MenuStyleAccordion":
|
||||
menuValue = "accordion";
|
||||
break;
|
||||
|
||||
}
|
||||
SaveToCookieAndRefresh("MenuStyle", menuValue);
|
||||
}
|
||||
|
||||
private string GetSelectedMenuID(MenuButton menuButton)
|
||||
{
|
||||
foreach (MenuItem item in menuButton.Menu.Items)
|
||||
{
|
||||
if (item is MenuCheckBox && (item as MenuCheckBox).Checked)
|
||||
{
|
||||
return item.ID;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private void SetSelectedMenuID(MenuButton menuButton, string selectedMenuID)
|
||||
{
|
||||
foreach (MenuItem item in menuButton.Menu.Items)
|
||||
{
|
||||
MenuCheckBox menu = (item as MenuCheckBox);
|
||||
if (menu != null && menu.ID == selectedMenuID)
|
||||
{
|
||||
menu.Checked = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
menu.Checked = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void SaveToCookieAndRefresh(string cookieName, string cookieValue)
|
||||
{
|
||||
HttpCookie cookie = new HttpCookie(cookieName, cookieValue);
|
||||
cookie.Expires = DateTime.Now.AddYears(1);
|
||||
Response.Cookies.Add(cookie);
|
||||
|
||||
PageContext.Refresh();
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Tree
|
||||
|
||||
/// <summary>
|
||||
/// 重新设置每个节点的图标
|
||||
/// </summary>
|
||||
/// <param name="nodes"></param>
|
||||
private void ResolveTreeNode(TreeNodeCollection nodes)
|
||||
{
|
||||
foreach (TreeNode node in nodes)
|
||||
{
|
||||
if (node.Nodes.Count == 0)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(node.NavigateUrl))
|
||||
{
|
||||
node.IconUrl = GetIconForTreeNode(node.NavigateUrl);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ResolveTreeNode(node.Nodes);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据链接地址返回相应的图标
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <returns></returns>
|
||||
private string GetIconForTreeNode(string url)
|
||||
{
|
||||
url = url.ToLower();
|
||||
int paramsIndex = url.IndexOf("?");
|
||||
if (paramsIndex >= 0)
|
||||
{
|
||||
url = url.Substring(0, paramsIndex);
|
||||
}
|
||||
int lastDotIndex = url.LastIndexOf('.');
|
||||
if (lastDotIndex >= 0)
|
||||
{
|
||||
url = url.Substring(lastDotIndex + 1);
|
||||
}
|
||||
|
||||
string fileType = url;
|
||||
|
||||
string iconUrl = "~/images/filetype/vs_unknow.png";
|
||||
if (fileType == "txt")
|
||||
{
|
||||
iconUrl = "~/images/filetype/vs_txt.png";
|
||||
}
|
||||
else if (fileType == "aspx")
|
||||
{
|
||||
iconUrl = "~/images/filetype/vs_aspx.png";
|
||||
}
|
||||
else if (fileType == "htm" || fileType == "html")
|
||||
{
|
||||
iconUrl = "~/images/filetype/vs_htm.png";
|
||||
}
|
||||
|
||||
return iconUrl;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
using System.Xml;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace FineUI.Examples
|
||||
{
|
||||
public partial class _default : PageBase
|
||||
{
|
||||
#region Page_Init
|
||||
|
||||
private string _menuType = "menu";
|
||||
private bool _showOnlyNew = false;
|
||||
private int _examplesCount = 0;
|
||||
|
||||
protected void Page_Init(object sender, EventArgs e)
|
||||
{
|
||||
HttpCookie menuCookie = Request.Cookies["MenuStyle_v4"];
|
||||
if (menuCookie != null)
|
||||
{
|
||||
_menuType = menuCookie.Value;
|
||||
}
|
||||
|
||||
// 从Cookie中读取是否仅显示最新示例
|
||||
HttpCookie menuShowOnlyNew = Request.Cookies["ShowOnlyNew_v4"];
|
||||
if (menuShowOnlyNew != null)
|
||||
{
|
||||
_showOnlyNew = Convert.ToBoolean(menuShowOnlyNew.Value);
|
||||
}
|
||||
|
||||
|
||||
if (_menuType == "accordion")
|
||||
{
|
||||
InitAccordionMenu();
|
||||
}
|
||||
else
|
||||
{
|
||||
InitTreeMenu();
|
||||
}
|
||||
|
||||
|
||||
if (_showOnlyNew)
|
||||
{
|
||||
leftPanel.Title = String.Format("最新示例({0})", _examplesCount);
|
||||
}
|
||||
else
|
||||
{
|
||||
leftPanel.Title = String.Format("全部示例({0})", _examplesCount);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Accordion InitAccordionMenu()
|
||||
{
|
||||
Accordion accordionMenu = new Accordion();
|
||||
accordionMenu.ID = "accordionMenu";
|
||||
accordionMenu.ShowBorder = false;
|
||||
accordionMenu.ShowHeader = false;
|
||||
leftPanel.Items.Add(accordionMenu);
|
||||
|
||||
|
||||
XmlDocument xmlDoc = XmlDataSource1.GetXmlDocument();
|
||||
XmlNodeList xmlNodes = xmlDoc.SelectNodes("/Tree/TreeNode");
|
||||
foreach (XmlNode xmlNode in xmlNodes)
|
||||
{
|
||||
if (xmlNode.HasChildNodes)
|
||||
{
|
||||
AccordionPane accordionPane = new AccordionPane();
|
||||
accordionPane.Title = xmlNode.Attributes["Text"].Value;
|
||||
accordionPane.Layout = Layout.Fit;
|
||||
accordionPane.ShowBorder = false;
|
||||
accordionPane.BodyPadding = "2px 0 0 0";
|
||||
accordionMenu.Items.Add(accordionPane);
|
||||
|
||||
Tree innerTree = new Tree();
|
||||
innerTree.ShowBorder = false;
|
||||
innerTree.ShowHeader = false;
|
||||
innerTree.EnableIcons = true;
|
||||
innerTree.AutoScroll = true;
|
||||
innerTree.EnableSingleClickExpand = true;
|
||||
accordionPane.Items.Add(innerTree);
|
||||
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.LoadXml(String.Format("<?xml version=\"1.0\" encoding=\"utf-8\" ?><Tree>{0}</Tree>", xmlNode.InnerXml));
|
||||
ResolveXmlDocument(doc);
|
||||
|
||||
// 绑定AccordionPane内部的树控件
|
||||
innerTree.NodeDataBound += treeMenu_NodeDataBound;
|
||||
innerTree.PreNodeDataBound += treeMenu_PreNodeDataBound;
|
||||
innerTree.DataSource = doc;
|
||||
innerTree.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
return accordionMenu;
|
||||
}
|
||||
|
||||
private Tree InitTreeMenu()
|
||||
{
|
||||
Tree treeMenu = new Tree();
|
||||
treeMenu.ID = "treeMenu";
|
||||
treeMenu.ShowBorder = false;
|
||||
treeMenu.ShowHeader = false;
|
||||
treeMenu.EnableIcons = true;
|
||||
treeMenu.AutoScroll = true;
|
||||
treeMenu.EnableSingleClickExpand = true;
|
||||
leftPanel.Items.Add(treeMenu);
|
||||
|
||||
XmlDocument doc = XmlDataSource1.GetXmlDocument();
|
||||
ResolveXmlDocument(doc);
|
||||
|
||||
// 绑定 XML 数据源到树控件
|
||||
treeMenu.NodeDataBound += treeMenu_NodeDataBound;
|
||||
treeMenu.PreNodeDataBound += treeMenu_PreNodeDataBound;
|
||||
treeMenu.DataSource = doc;
|
||||
treeMenu.DataBind();
|
||||
|
||||
return treeMenu;
|
||||
}
|
||||
|
||||
#region ResolveXmlDocument
|
||||
|
||||
private void ResolveXmlDocument(XmlDocument doc)
|
||||
{
|
||||
ResolveXmlDocument(doc, doc.DocumentElement.ChildNodes);
|
||||
}
|
||||
|
||||
private int ResolveXmlDocument(XmlDocument doc, XmlNodeList nodes)
|
||||
{
|
||||
// nodes 中渲染到页面上的节点个数
|
||||
int nodeVisibleCount = 0;
|
||||
|
||||
foreach (XmlNode node in nodes)
|
||||
{
|
||||
// Only process Xml elements (ignore comments, etc)
|
||||
if (node.NodeType == XmlNodeType.Element)
|
||||
{
|
||||
XmlAttribute removedAttr;
|
||||
|
||||
// 是否叶子节点
|
||||
bool isLeaf = node.ChildNodes.Count == 0;
|
||||
|
||||
|
||||
// 所有过滤条件均是对叶子节点而言,而是否显示目录,要看是否存在叶子节点
|
||||
if (isLeaf)
|
||||
{
|
||||
// 如果仅显示最新示例
|
||||
if (_showOnlyNew)
|
||||
{
|
||||
XmlAttribute isNewAttr = node.Attributes["IsNew"];
|
||||
if (isNewAttr == null)
|
||||
{
|
||||
removedAttr = doc.CreateAttribute("Removed");
|
||||
removedAttr.Value = "true";
|
||||
|
||||
node.Attributes.Append(removedAttr);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 存在子节点
|
||||
if (!isLeaf)
|
||||
{
|
||||
// 递归
|
||||
int childVisibleCount = ResolveXmlDocument(doc, node.ChildNodes);
|
||||
|
||||
if (childVisibleCount == 0)
|
||||
{
|
||||
removedAttr = doc.CreateAttribute("Removed");
|
||||
removedAttr.Value = "true";
|
||||
|
||||
node.Attributes.Append(removedAttr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
removedAttr = node.Attributes["Removed"];
|
||||
if (removedAttr == null)
|
||||
{
|
||||
nodeVisibleCount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nodeVisibleCount;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 树节点的绑定后事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void treeMenu_NodeDataBound(object sender, TreeNodeEventArgs e)
|
||||
{
|
||||
string isNewHtml = GetIsNewHtml(e.XmlNode);
|
||||
if (!String.IsNullOrEmpty(isNewHtml))
|
||||
{
|
||||
e.Node.Text += isNewHtml;
|
||||
}
|
||||
|
||||
// 如果仅显示最新示例 并且 当前节点不是子节点,则展开当前节点
|
||||
if (_showOnlyNew && !e.Node.Leaf)
|
||||
{
|
||||
e.Node.Expanded = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 树节点的预绑定事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void treeMenu_PreNodeDataBound(object sender, TreePreNodeEventArgs e)
|
||||
{
|
||||
/*
|
||||
// 如果仅显示最新示例
|
||||
if (showOnlyNew)
|
||||
{
|
||||
string isNewHtml = GetIsNewHtml(e.XmlNode);
|
||||
if (String.IsNullOrEmpty(isNewHtml))
|
||||
{
|
||||
e.Cancelled = true;
|
||||
}
|
||||
}
|
||||
|
||||
// 更新示例总数
|
||||
if (e.XmlNode.ChildNodes.Count == 0)
|
||||
{
|
||||
examplesCount++;
|
||||
}
|
||||
*/
|
||||
|
||||
// 是否叶子节点
|
||||
bool isLeaf = e.XmlNode.ChildNodes.Count == 0;
|
||||
|
||||
XmlAttribute removedAttr = e.XmlNode.Attributes["Removed"];
|
||||
if (removedAttr != null)
|
||||
{
|
||||
e.Cancelled = true;
|
||||
}
|
||||
|
||||
if (isLeaf && !e.Cancelled)
|
||||
{
|
||||
_examplesCount++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private string GetIsNewHtml(XmlNode node)
|
||||
{
|
||||
string result = String.Empty;
|
||||
|
||||
XmlAttribute isNewAttr = node.Attributes["IsNew"];
|
||||
if (isNewAttr != null)
|
||||
{
|
||||
if (Convert.ToBoolean(isNewAttr.Value))
|
||||
{
|
||||
result = " <span class=\"isnew\">New!</span>";
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Page_Load
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
InitMenuStyleButton();
|
||||
InitLangMenuButton();
|
||||
InitThemeMenuButton();
|
||||
InitMenuShowOnlyNew();
|
||||
|
||||
litVersion.Text = FineUI.GlobalConfig.ProductVersion;
|
||||
litOnlineUserCount.Text = Application["OnlineUserCount"].ToString();
|
||||
}
|
||||
}
|
||||
|
||||
private void InitMenuShowOnlyNew()
|
||||
{
|
||||
cbxShowOnlyNew.Checked = _showOnlyNew;
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void InitMenuStyleButton()
|
||||
{
|
||||
string menuStyleID = "MenuStyleTree";
|
||||
|
||||
HttpCookie menuStyleCookie = Request.Cookies["MenuStyle_v4"];
|
||||
if (menuStyleCookie != null)
|
||||
{
|
||||
switch (menuStyleCookie.Value)
|
||||
{
|
||||
case "menu":
|
||||
menuStyleID = "MenuStyleTree";
|
||||
break;
|
||||
case "accordion":
|
||||
menuStyleID = "MenuStyleAccordion";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SetSelectedMenuID(MenuStyle, menuStyleID);
|
||||
}
|
||||
|
||||
|
||||
private void InitLangMenuButton()
|
||||
{
|
||||
string langMenuID = "MenuLangZHCN";
|
||||
|
||||
string langValue = PageManager1.Language.ToString().ToLower();
|
||||
switch (langValue)
|
||||
{
|
||||
case "zh_cn":
|
||||
langMenuID = "MenuLangZHCN";
|
||||
break;
|
||||
case "zh_tw":
|
||||
langMenuID = "MenuLangZHTW";
|
||||
break;
|
||||
case "en":
|
||||
langMenuID = "MenuLangEN";
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
SetSelectedMenuID(MenuLang, langMenuID);
|
||||
}
|
||||
|
||||
private void InitThemeMenuButton()
|
||||
{
|
||||
string themeMenuID = "MenuThemeBlue";
|
||||
|
||||
string themeValue = PageManager1.Theme.ToString().ToLower();
|
||||
switch (themeValue)
|
||||
{
|
||||
case "blue":
|
||||
themeMenuID = "MenuThemeBlue";
|
||||
break;
|
||||
case "gray":
|
||||
themeMenuID = "MenuThemeGray";
|
||||
break;
|
||||
case "access":
|
||||
themeMenuID = "MenuThemeAccess";
|
||||
break;
|
||||
case "neptune":
|
||||
themeMenuID = "MenuThemeNeptune";
|
||||
break;
|
||||
}
|
||||
|
||||
SetSelectedMenuID(MenuTheme, themeMenuID);
|
||||
}
|
||||
|
||||
|
||||
private void SetSelectedMenuID(MenuButton menuButton, string selectedMenuID)
|
||||
{
|
||||
foreach (MenuItem item in menuButton.Menu.Items)
|
||||
{
|
||||
MenuCheckBox menu = (item as MenuCheckBox);
|
||||
if (menu != null && menu.ID == selectedMenuID)
|
||||
{
|
||||
menu.Checked = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
menu.Checked = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
669
FineUI.Examples/default.aspx.designer.cs
generated
669
FineUI.Examples/default.aspx.designer.cs
generated
@ -1,303 +1,366 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples {
|
||||
|
||||
|
||||
public partial class _default {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// RegionPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.RegionPanel RegionPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// Region1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Region Region1;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.ContentPanel ContentPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// Button2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button2;
|
||||
|
||||
/// <summary>
|
||||
/// btnExpandAll 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuButton btnExpandAll;
|
||||
|
||||
/// <summary>
|
||||
/// btnCollapseAll 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuButton btnCollapseAll;
|
||||
|
||||
/// <summary>
|
||||
/// MenuSeparator1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuSeparator MenuSeparator1;
|
||||
|
||||
/// <summary>
|
||||
/// MenuStyle 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuButton MenuStyle;
|
||||
|
||||
/// <summary>
|
||||
/// MenuStyleTree 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuStyleTree;
|
||||
|
||||
/// <summary>
|
||||
/// MenuStyleAccordion 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuStyleAccordion;
|
||||
|
||||
/// <summary>
|
||||
/// MenuLang 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuButton MenuLang;
|
||||
|
||||
/// <summary>
|
||||
/// MenuLangZHCN 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuLangZHCN;
|
||||
|
||||
/// <summary>
|
||||
/// MenuLangZHTW 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuLangZHTW;
|
||||
|
||||
/// <summary>
|
||||
/// MenuLangEN 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuLangEN;
|
||||
|
||||
/// <summary>
|
||||
/// MenuTheme 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuButton MenuTheme;
|
||||
|
||||
/// <summary>
|
||||
/// MenuThemeNeptune 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuThemeNeptune;
|
||||
|
||||
/// <summary>
|
||||
/// MenuThemeBlue 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuThemeBlue;
|
||||
|
||||
/// <summary>
|
||||
/// MenuThemeGray 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuThemeGray;
|
||||
|
||||
/// <summary>
|
||||
/// MenuThemeAccess 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuThemeAccess;
|
||||
|
||||
/// <summary>
|
||||
/// MenuSeparator2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuSeparator MenuSeparator2;
|
||||
|
||||
/// <summary>
|
||||
/// Region2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Region Region2;
|
||||
|
||||
/// <summary>
|
||||
/// mainRegion 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Region mainRegion;
|
||||
|
||||
/// <summary>
|
||||
/// mainTabStrip 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TabStrip mainTabStrip;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.ToolbarFill ToolbarFill2;
|
||||
|
||||
/// <summary>
|
||||
/// btnGotoOpenSourceSite 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnGotoOpenSourceSite;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.ToolbarSeparator ToolbarSeparator1;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.ToolbarSeparator ToolbarSeparator2;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// windowSourceCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Window windowSourceCode;
|
||||
|
||||
/// <summary>
|
||||
/// XmlDataSource1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.XmlDataSource XmlDataSource1;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples {
|
||||
|
||||
|
||||
public partial class _default {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// RegionPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.RegionPanel RegionPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// Region1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Region Region1;
|
||||
|
||||
/// <summary>
|
||||
/// leftPanel 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Region leftPanel;
|
||||
|
||||
/// <summary>
|
||||
/// mainRegion 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Region mainRegion;
|
||||
|
||||
/// <summary>
|
||||
/// mainTabStrip 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.TabStrip mainTabStrip;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.ToolbarFill ToolbarFill2;
|
||||
|
||||
/// <summary>
|
||||
/// btnGotoOpenSourceSite 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnGotoOpenSourceSite;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.ToolbarSeparator ToolbarSeparator2;
|
||||
|
||||
/// <summary>
|
||||
/// Button1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// bottomPanel 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Region bottomPanel;
|
||||
|
||||
/// <summary>
|
||||
/// litVersion 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litVersion;
|
||||
|
||||
/// <summary>
|
||||
/// litOnlineUserCount 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litOnlineUserCount;
|
||||
|
||||
/// <summary>
|
||||
/// windowSourceCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Window windowSourceCode;
|
||||
|
||||
/// <summary>
|
||||
/// menuSettings 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Menu menuSettings;
|
||||
|
||||
/// <summary>
|
||||
/// btnExpandAll 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuButton btnExpandAll;
|
||||
|
||||
/// <summary>
|
||||
/// btnCollapseAll 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuButton btnCollapseAll;
|
||||
|
||||
/// <summary>
|
||||
/// MenuSeparator4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuSeparator MenuSeparator4;
|
||||
|
||||
/// <summary>
|
||||
/// cbxShowOnlyNew 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox cbxShowOnlyNew;
|
||||
|
||||
/// <summary>
|
||||
/// MenuSeparator1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuSeparator MenuSeparator1;
|
||||
|
||||
/// <summary>
|
||||
/// MenuStyle 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuButton MenuStyle;
|
||||
|
||||
/// <summary>
|
||||
/// MenuStyleTree 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuStyleTree;
|
||||
|
||||
/// <summary>
|
||||
/// MenuStyleAccordion 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuStyleAccordion;
|
||||
|
||||
/// <summary>
|
||||
/// MenuLang 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuButton MenuLang;
|
||||
|
||||
/// <summary>
|
||||
/// MenuLangZHCN 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuLangZHCN;
|
||||
|
||||
/// <summary>
|
||||
/// MenuLangZHTW 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuLangZHTW;
|
||||
|
||||
/// <summary>
|
||||
/// MenuLangEN 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuLangEN;
|
||||
|
||||
/// <summary>
|
||||
/// MenuTheme 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuButton MenuTheme;
|
||||
|
||||
/// <summary>
|
||||
/// MenuThemeNeptune 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuThemeNeptune;
|
||||
|
||||
/// <summary>
|
||||
/// MenuThemeBlue 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuThemeBlue;
|
||||
|
||||
/// <summary>
|
||||
/// MenuThemeGray 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuThemeGray;
|
||||
|
||||
/// <summary>
|
||||
/// MenuThemeAccess 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuCheckBox MenuThemeAccess;
|
||||
|
||||
/// <summary>
|
||||
/// MenuSeparator2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuSeparator MenuSeparator2;
|
||||
|
||||
/// <summary>
|
||||
/// MenuHyperLink2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuHyperLink MenuHyperLink2;
|
||||
|
||||
/// <summary>
|
||||
/// MenuHyperLink1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuHyperLink MenuHyperLink1;
|
||||
|
||||
/// <summary>
|
||||
/// MenuSeparator3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuSeparator MenuSeparator3;
|
||||
|
||||
/// <summary>
|
||||
/// MenuHyperLink3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.MenuHyperLink MenuHyperLink3;
|
||||
|
||||
/// <summary>
|
||||
/// XmlDataSource1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.XmlDataSource XmlDataSource1;
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +1,32 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dropdownlist_compositelist.aspx.cs"
|
||||
Inherits="FineUI.Examples.dropdownlist.dropdownlist_compositelist" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" runat="server" />
|
||||
<x:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableFrame="true" EnableCollapse="true"
|
||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||
<Items>
|
||||
<x:DropDownList runat="server" ID="DropDownList1">
|
||||
</x:DropDownList>
|
||||
<x:Button ID="btnSelectItem6" Text="选中“选项 6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||
CssClass="inline">
|
||||
</x:Button>
|
||||
<x:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||
</x:Button>
|
||||
<x:Label runat="server" ID="labResult">
|
||||
</x:Label>
|
||||
</Items>
|
||||
</x:SimpleForm>
|
||||
<br />
|
||||
<br />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dropdownlist_compositelist.aspx.cs"
|
||||
Inherits="FineUI.Examples.dropdownlist.dropdownlist_compositelist" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableCollapse="true"
|
||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||
<Items>
|
||||
<f:DropDownList runat="server" ID="DropDownList1">
|
||||
</f:DropDownList>
|
||||
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||
CssClass="marginr">
|
||||
</f:Button>
|
||||
<f:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||
</f:Button>
|
||||
|
||||
</Items>
|
||||
</f:SimpleForm>
|
||||
<br />
|
||||
<f:Label runat="server" ID="labResult">
|
||||
</f:Label>
|
||||
<br />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,89 +1,93 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
|
||||
namespace FineUI.Examples.dropdownlist
|
||||
{
|
||||
public partial class dropdownlist_compositelist : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindEnumrableToDropDownList();
|
||||
}
|
||||
}
|
||||
|
||||
#region CustomClass
|
||||
|
||||
public class CustomClass
|
||||
{
|
||||
private string _id;
|
||||
|
||||
public string ID
|
||||
{
|
||||
get { return _id; }
|
||||
set { _id = value; }
|
||||
}
|
||||
private string _name;
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return _name; }
|
||||
set { _name = value; }
|
||||
}
|
||||
|
||||
public CustomClass(string id, string name)
|
||||
{
|
||||
_id = id;
|
||||
_name = name;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region BindEnumrableToDropDownList
|
||||
|
||||
private void BindEnumrableToDropDownList()
|
||||
{
|
||||
List<CustomClass> myList = new List<CustomClass>();
|
||||
myList.Add(new CustomClass("1", "选项 1"));
|
||||
myList.Add(new CustomClass("2", "选项 2"));
|
||||
myList.Add(new CustomClass("3", "选项 3"));
|
||||
myList.Add(new CustomClass("4", "选项 4"));
|
||||
myList.Add(new CustomClass("5", "选项 5"));
|
||||
myList.Add(new CustomClass("6", "选项 6"));
|
||||
myList.Add(new CustomClass("7", "选项 7"));
|
||||
myList.Add(new CustomClass("8", "选项 8"));
|
||||
myList.Add(new CustomClass("9", "选项 9"));
|
||||
|
||||
DropDownList1.DataTextField = "Name";
|
||||
DropDownList1.DataValueField = "ID";
|
||||
DropDownList1.DataSource = myList;
|
||||
DropDownList1.DataBind();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Events
|
||||
|
||||
protected void btnSelectItem6_Click(object sender, EventArgs e)
|
||||
{
|
||||
DropDownList1.SelectedValue = "6";
|
||||
}
|
||||
|
||||
protected void btnGetSelection_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (DropDownList1.SelectedItem != null)
|
||||
{
|
||||
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
|
||||
namespace FineUI.Examples.dropdownlist
|
||||
{
|
||||
public partial class dropdownlist_compositelist : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindEnumrableToDropDownList();
|
||||
}
|
||||
}
|
||||
|
||||
#region CustomClass
|
||||
|
||||
public class CustomClass
|
||||
{
|
||||
private string _id;
|
||||
|
||||
public string ID
|
||||
{
|
||||
get { return _id; }
|
||||
set { _id = value; }
|
||||
}
|
||||
private string _name;
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return _name; }
|
||||
set { _name = value; }
|
||||
}
|
||||
|
||||
public CustomClass(string id, string name)
|
||||
{
|
||||
_id = id;
|
||||
_name = name;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region BindEnumrableToDropDownList
|
||||
|
||||
private void BindEnumrableToDropDownList()
|
||||
{
|
||||
List<CustomClass> myList = new List<CustomClass>();
|
||||
myList.Add(new CustomClass("1", "可选项1"));
|
||||
myList.Add(new CustomClass("2", "可选项2"));
|
||||
myList.Add(new CustomClass("3", "可选项3"));
|
||||
myList.Add(new CustomClass("4", "可选项4"));
|
||||
myList.Add(new CustomClass("5", "可选项5"));
|
||||
myList.Add(new CustomClass("6", "可选项6"));
|
||||
myList.Add(new CustomClass("7", "可选择项7"));
|
||||
myList.Add(new CustomClass("8", "可选择项8"));
|
||||
myList.Add(new CustomClass("9", "可选择项9"));
|
||||
|
||||
DropDownList1.DataTextField = "Name";
|
||||
DropDownList1.DataValueField = "ID";
|
||||
DropDownList1.DataSource = myList;
|
||||
DropDownList1.DataBind();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Events
|
||||
|
||||
protected void btnSelectItem6_Click(object sender, EventArgs e)
|
||||
{
|
||||
DropDownList1.SelectedValue = "6";
|
||||
}
|
||||
|
||||
protected void btnGetSelection_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (DropDownList1.SelectedItem != null)
|
||||
{
|
||||
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
labResult.Text = "无选中项";
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,78 +1,78 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.dropdownlist {
|
||||
|
||||
|
||||
public partial class dropdownlist_compositelist {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.SimpleForm SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// DropDownList1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.DropDownList DropDownList1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSelectItem6 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnSelectItem6;
|
||||
|
||||
/// <summary>
|
||||
/// btnGetSelection 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnGetSelection;
|
||||
|
||||
/// <summary>
|
||||
/// labResult 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label labResult;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.dropdownlist {
|
||||
|
||||
|
||||
public partial class dropdownlist_compositelist {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.SimpleForm SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// DropDownList1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.DropDownList DropDownList1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSelectItem6 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnSelectItem6;
|
||||
|
||||
/// <summary>
|
||||
/// btnGetSelection 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnGetSelection;
|
||||
|
||||
/// <summary>
|
||||
/// labResult 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label labResult;
|
||||
}
|
||||
}
|
||||
|
@ -1,29 +1,30 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dropdownlist_datatable.aspx.cs"
|
||||
Inherits="FineUI.Examples.dropdownlist.dropdownlist_datatable" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" runat="server" />
|
||||
<x:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableFrame="true" EnableCollapse="true"
|
||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||
<Items>
|
||||
<x:DropDownList runat="server" ID="DropDownList1" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
|
||||
</x:DropDownList>
|
||||
<x:Button ID="btnSelectItem6" Text="选中“选项 6”" runat="server" OnClick="btnSelectItem6_Click">
|
||||
</x:Button>
|
||||
<x:Label runat="server" ID="labResult">
|
||||
</x:Label>
|
||||
</Items>
|
||||
</x:SimpleForm>
|
||||
<br />
|
||||
<br />
|
||||
注:这个下拉列表在选择项改变时自动回发。
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dropdownlist_datatable.aspx.cs"
|
||||
Inherits="FineUI.Examples.dropdownlist.dropdownlist_datatable" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableCollapse="true"
|
||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||
<Items>
|
||||
<f:DropDownList runat="server" ID="DropDownList1" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
|
||||
</f:DropDownList>
|
||||
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click">
|
||||
</f:Button>
|
||||
|
||||
</Items>
|
||||
</f:SimpleForm>
|
||||
<br />
|
||||
<f:Label runat="server" ID="labResult">
|
||||
</f:Label>
|
||||
<br />
|
||||
注:这个下拉列表在选择项改变时自动回发。
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,106 +1,110 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
|
||||
namespace FineUI.Examples.dropdownlist
|
||||
{
|
||||
public partial class dropdownlist_datatable : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindDataTableToDropDownList();
|
||||
}
|
||||
}
|
||||
|
||||
#region BindDataTableToDropDownList
|
||||
|
||||
private void BindDataTableToDropDownList()
|
||||
{
|
||||
DataTable table = new DataTable();
|
||||
DataColumn column1 = new DataColumn("MyText", typeof(String));
|
||||
DataColumn column2 = new DataColumn("MyValue", typeof(String));
|
||||
table.Columns.Add(column1);
|
||||
table.Columns.Add(column2);
|
||||
|
||||
DataRow row = table.NewRow();
|
||||
row[0] = "选项 1";
|
||||
row[1] = "1";
|
||||
table.Rows.Add(row);
|
||||
row = table.NewRow();
|
||||
|
||||
row[0] = "选项 2";
|
||||
row[1] = "2";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "选项 3";
|
||||
row[1] = "3";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "选项 4";
|
||||
row[1] = "4";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "选项 5";
|
||||
row[1] = "5";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "选项 6";
|
||||
row[1] = "6";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "选项 7";
|
||||
row[1] = "7";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "选项 8";
|
||||
row[1] = "8";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "选项 9";
|
||||
row[1] = "9";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "这是一个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选项";
|
||||
row[1] = "10";
|
||||
table.Rows.Add(row);
|
||||
|
||||
DropDownList1.DataTextField = "MyText";
|
||||
DropDownList1.DataValueField = "MyValue";
|
||||
DropDownList1.DataSource = table;
|
||||
DropDownList1.DataBind();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Events
|
||||
|
||||
protected void btnSelectItem6_Click(object sender, EventArgs e)
|
||||
{
|
||||
DropDownList1.SelectedValue = "6";
|
||||
}
|
||||
|
||||
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (DropDownList1.SelectedItem != null)
|
||||
{
|
||||
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
|
||||
namespace FineUI.Examples.dropdownlist
|
||||
{
|
||||
public partial class dropdownlist_datatable : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindDataTableToDropDownList();
|
||||
}
|
||||
}
|
||||
|
||||
#region BindDataTableToDropDownList
|
||||
|
||||
private void BindDataTableToDropDownList()
|
||||
{
|
||||
DataTable table = new DataTable();
|
||||
DataColumn column1 = new DataColumn("MyText", typeof(String));
|
||||
DataColumn column2 = new DataColumn("MyValue", typeof(String));
|
||||
table.Columns.Add(column1);
|
||||
table.Columns.Add(column2);
|
||||
|
||||
DataRow row = table.NewRow();
|
||||
row[0] = "可选项1";
|
||||
row[1] = "1";
|
||||
table.Rows.Add(row);
|
||||
row = table.NewRow();
|
||||
|
||||
row[0] = "可选项2";
|
||||
row[1] = "2";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "可选项3";
|
||||
row[1] = "3";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "可选项4";
|
||||
row[1] = "4";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "可选项5";
|
||||
row[1] = "5";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "可选项6";
|
||||
row[1] = "6";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "可选择项7";
|
||||
row[1] = "7";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "可选择项8";
|
||||
row[1] = "8";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "可选择项9";
|
||||
row[1] = "9";
|
||||
table.Rows.Add(row);
|
||||
|
||||
row = table.NewRow();
|
||||
row[0] = "这是一个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选项";
|
||||
row[1] = "10";
|
||||
table.Rows.Add(row);
|
||||
|
||||
DropDownList1.DataTextField = "MyText";
|
||||
DropDownList1.DataValueField = "MyValue";
|
||||
DropDownList1.DataSource = table;
|
||||
DropDownList1.DataBind();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Events
|
||||
|
||||
protected void btnSelectItem6_Click(object sender, EventArgs e)
|
||||
{
|
||||
DropDownList1.SelectedValue = "6";
|
||||
}
|
||||
|
||||
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (DropDownList1.SelectedItem != null)
|
||||
{
|
||||
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
labResult.Text = "无选中项";
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,69 +1,69 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.dropdownlist {
|
||||
|
||||
|
||||
public partial class dropdownlist_datatable {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.SimpleForm SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// DropDownList1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.DropDownList DropDownList1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSelectItem6 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnSelectItem6;
|
||||
|
||||
/// <summary>
|
||||
/// labResult 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label labResult;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.dropdownlist {
|
||||
|
||||
|
||||
public partial class dropdownlist_datatable {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.SimpleForm SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// DropDownList1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.DropDownList DropDownList1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSelectItem6 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnSelectItem6;
|
||||
|
||||
/// <summary>
|
||||
/// labResult 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label labResult;
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +1,32 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dropdownlist_simplelist.aspx.cs"
|
||||
Inherits="FineUI.Examples.dropdownlist.dropdownlist_simplelist" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../../css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<x:PageManager ID="PageManager1" runat="server" />
|
||||
<x:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableFrame="true" EnableCollapse="true"
|
||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||
<Items>
|
||||
<x:DropDownList runat="server" ID="DropDownList1">
|
||||
</x:DropDownList>
|
||||
<x:Button ID="btnSelectItem6" Text="选中“选项 6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||
CssClass="inline">
|
||||
</x:Button>
|
||||
<x:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||
</x:Button>
|
||||
<x:Label runat="server" ID="labResult">
|
||||
</x:Label>
|
||||
</Items>
|
||||
</x:SimpleForm>
|
||||
<br />
|
||||
<br />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dropdownlist_simplelist.aspx.cs"
|
||||
Inherits="FineUI.Examples.dropdownlist.dropdownlist_simplelist" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
<link href="../../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" runat="server" />
|
||||
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableCollapse="true"
|
||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||
<Items>
|
||||
<f:DropDownList runat="server" ID="DropDownList1">
|
||||
</f:DropDownList>
|
||||
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||
CssClass="marginr">
|
||||
</f:Button>
|
||||
<f:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||
</f:Button>
|
||||
|
||||
</Items>
|
||||
</f:SimpleForm>
|
||||
<br />
|
||||
<f:Label runat="server" ID="labResult">
|
||||
</f:Label>
|
||||
<br />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,60 +1,64 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
|
||||
namespace FineUI.Examples.dropdownlist
|
||||
{
|
||||
public partial class dropdownlist_simplelist : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindStringListToDropDownList();
|
||||
}
|
||||
}
|
||||
|
||||
#region BindStringListToDropDownList
|
||||
|
||||
private void BindStringListToDropDownList()
|
||||
{
|
||||
List<string> strList = new List<string>();
|
||||
strList.Add("选项 1");
|
||||
strList.Add("选项 2");
|
||||
strList.Add("选项 3");
|
||||
strList.Add("选项 4");
|
||||
strList.Add("选项 5");
|
||||
strList.Add("选项 6");
|
||||
strList.Add("选项 7");
|
||||
strList.Add("选项 8");
|
||||
strList.Add("选项 9");
|
||||
strList.Add("这是一个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选项");
|
||||
|
||||
DropDownList1.DataSource = strList;
|
||||
DropDownList1.DataBind();
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Events
|
||||
|
||||
protected void btnSelectItem6_Click(object sender, EventArgs e)
|
||||
{
|
||||
DropDownList1.SelectedValue = "选项 6";
|
||||
}
|
||||
|
||||
protected void btnGetSelection_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (DropDownList1.SelectedItem != null)
|
||||
{
|
||||
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
|
||||
namespace FineUI.Examples.dropdownlist
|
||||
{
|
||||
public partial class dropdownlist_simplelist : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindStringListToDropDownList();
|
||||
}
|
||||
}
|
||||
|
||||
#region BindStringListToDropDownList
|
||||
|
||||
private void BindStringListToDropDownList()
|
||||
{
|
||||
List<string> strList = new List<string>();
|
||||
strList.Add("可选项1");
|
||||
strList.Add("可选项2");
|
||||
strList.Add("可选项3");
|
||||
strList.Add("可选项4");
|
||||
strList.Add("可选项5");
|
||||
strList.Add("可选项6");
|
||||
strList.Add("可选择项7");
|
||||
strList.Add("可选择项8");
|
||||
strList.Add("可选择项9");
|
||||
strList.Add("这是一个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选项");
|
||||
|
||||
DropDownList1.DataSource = strList;
|
||||
DropDownList1.DataBind();
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Events
|
||||
|
||||
protected void btnSelectItem6_Click(object sender, EventArgs e)
|
||||
{
|
||||
DropDownList1.SelectedValue = "可选项6";
|
||||
}
|
||||
|
||||
protected void btnGetSelection_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (DropDownList1.SelectedItem != null)
|
||||
{
|
||||
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
labResult.Text = "无选中项";
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,78 +1,78 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.dropdownlist {
|
||||
|
||||
|
||||
public partial class dropdownlist_simplelist {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.SimpleForm SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// DropDownList1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.DropDownList DropDownList1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSelectItem6 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnSelectItem6;
|
||||
|
||||
/// <summary>
|
||||
/// btnGetSelection 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnGetSelection;
|
||||
|
||||
/// <summary>
|
||||
/// labResult 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label labResult;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUI.Examples.dropdownlist {
|
||||
|
||||
|
||||
public partial class dropdownlist_simplelist {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.SimpleForm SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// DropDownList1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.DropDownList DropDownList1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSelectItem6 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnSelectItem6;
|
||||
|
||||
/// <summary>
|
||||
/// btnGetSelection 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Button btnGetSelection;
|
||||
|
||||
/// <summary>
|
||||
/// labResult 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUI.Label labResult;
|
||||
}
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user