Ext.net 3.1学习
主页面前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MainForm.aspx.cs" Inherits="WebEXT.MainForm" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>管理系统</title>
</head>
<script type="text/javascript">
var addTab = function (tabPanel, id, url, title) {
var tab = tabPanel.getComponent(id);
var url = url.replace('#','');
if (!tab) {
tab = tabPanel.add({
id: id,
title: title,
closable: true,
autoLoad: {
showMask: true,
url: url,
mode: "iframe",
maskMsg: "Loading " + url + "..."
}
});
} tabPanel.setActiveTab(tab);
}
</script>
<body>
<form id="form1" runat="server">
<div>
<ext:ResourceManager ID="ResourceManager1" runat="server">
</ext:ResourceManager>
<ext:Viewport ID="Viewport" runat="server" Layout="BorderLayout">
<Items>
<ext:TreePanel runat="server" ID="TreePanel1" Region="West" MinWidth="" Width=""
Title="系统功能目录" Split="true" Border="true">
<Root>
<ext:Node Text="菜单" NodeID="-1" Expanded="True" Icon="ApplicationLink">
</ext:Node>
</Root>
<BottomBar><ext:StatusBar ID="StatusBar1" runat="server" AutoClear=""></ext:StatusBar></BottomBar>
<Store>
<ext:TreeStore runat="server">
<Proxy>
<ext:AjaxProxy Url="/tree-handler.ashx">
</ext:AjaxProxy>
</Proxy>
</ext:TreeStore>
</Store>
<Listeners>
<ItemClick Handler="addTab(#{TabPanel1},'tab'+record.data.id, record.data.href,record.data.text);">
</ItemClick>
</Listeners>
</ext:TreePanel>
<ext:TabPanel ID="TabPanel1" runat="server" Region="Center" ActiveTabIndex="" Border="True"
Title="主界面" AutoScroll="True">
<Items>
<ext:Panel ID="Test1" runat="server" Title="主页" Collapsed="false">
</ext:Panel>
</Items>
</ext:TabPanel>
</Items>
</ext:Viewport>
</div>
</form>
</body>
</html>
异步加载树的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Ext.Net; namespace WebEXT
{
/// <summary>
/// tree_handler 的摘要说明
/// </summary>
public class tree_handler : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
//得到node id
string nodeId = context.Request["node"]; SysMenuInfo sysMenuInfo = new SysMenuInfo();
//根据node id 进行处理
NodeCollection nodes = new NodeCollection();
IList<sysMenu> list = new List<sysMenu>();
list = sysMenuInfo.GetChildMenu(nodeId);
foreach (var sysMenu in list)
{
nodes.Add(new Node() { Text = sysMenu.nvcMenuName, Icon = Icon.ApplicationLink, Href = "#"+sysMenu.nvcUrl,NodeID=sysMenu.nvcID});
}
string responseString = nodes.ToJson();
context.Response.Write(responseString);
context.Response.End();
} public bool IsReusable
{
get
{
return false;
}
}
}
}
Ext.net 3.1学习的更多相关文章
- MVC+Ext.net零基础学习记录(五)
继MVC+Ext.net零基础学习记录(四),在后面我在既有的项目上又添加了一个子项目,还用前面提到的方法,进行主项目中引用DLL,然后子项目中生成事件中使用mkdir 进行拷贝 发现一个下午就总是报 ...
- MVC+Ext.net零基础学习记录(四)
在上一篇文章[MVC+Ext.net零基础学习记录(三)]中提到了利用MVC的Area可以做到项目分离,但是实际操作起来还是有很多问题的.比如,对于物理资源的访问,会报:没有相关资源 开始的时候,我在 ...
- MVC+Ext.net零基础学习记录(一)
由于最近开发一个项目,决定使用MVC+EXT.NET,决定将学习的这个过程记录下来 本人和很多菜鸟一样,之前既没有使用过MVC开发,也没有接触过EXT.NET,所以这将是一个大家共同学习的过程,文章中 ...
- Ext JS 6 入门学习资料大全(2016-12-14)
现在 sencha touch已经升级为 Ext JS 6 了重新整理下资料 官方网站:https://www.sencha.com/ 在线文档:http://docs.sencha.com/extj ...
- Ext JS 6 入门学习资料大全(2018-03-07)
现在 sencha touch已经升级为 Ext JS 6 了重新整理下资料 官方网站:https://www.sencha.com/ 在线文档:http://docs.sencha.com/extj ...
- MVC+Ext.net零基础学习记录(三)
这里开始说明一下,如何在MVC项目中引用EXT.NET,这里参考:http://www.cnblogs.com/zhanghaomars/p/3470987.html
- MVC+Ext.net零基础学习记录(二)
很多人在开发一个新的项目时,需要先决定项目的整体架构,是决定使用MVC的同时也不例外,具体包含:项目的多语言性,项目的多风格选择,项目的可扩展性 其中项目的多语言性:http://www.cnblog ...
- EXT.NET学习笔记(一) 下载配置使用
新公司使用ext.net开发,开始学习该知识: 首先下载ext.net,目前我使用的版本为1.7,该版本免费,基本的功能也够用,使用ext.net进行开发时强烈建议使用VS2015,能便捷的提示,大大 ...
- extJs学习的资源
http://www.qeefee.com/zt-extjs Ext JS 6 入门学习资料大全(2016-12-14) cddnExtJS学习:http://blog.csdn.net/co ...
随机推荐
- hive中的子查询改join操作(转)
这些子查询在oracle和mysql等数据库中都能执行,但是在hive中却不支持,但是我们可以把这些查询语句改为join操作: -- 1.子查询 select * from A a where a.u ...
- Django--自定义 Command 命令
Django 对于命令的添加有一套规范,你可以为每个app 指定命令.通俗一点讲,比如在使用manage.py文件执行命令的时候,可以自定制自己的命令,来实现命令的扩充. commands的创建 1. ...
- Redis使用sortedset缓存IP段数据
我们原来的业务中,有很多地方需要解析用户IP的信息,刚开始是通过新浪.百度这些第三方的接口来解析IP信息,后来发现调用这些接口频繁时会被禁用一小段时间.不得已只得将数据存到我们的数据库中,表结构大致如 ...
- BF算法(模式匹配)
BF算法 (Brute-Force算法) 一种简单的模式匹配算法,目的是寻找模式串p是否在目标串s中有出现. 思想:先从第一个字符开始匹配,如果p[j]==s[i],那么继续向下比较,一旦不相等,即回 ...
- 从零开始学 Web 之 CSS(一)选择器
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...
- SQL 必知必会·笔记<14>更新和删除数据
1. 更新数据 基本的UPDATE语句,由三部分组成: 要更新的表 列名和它们的新值 确定要更新那些行的过滤条件 更新单列示例: UPDATE Customers SET cust_email = ' ...
- [深度学习]理解RNN, GRU, LSTM 网络
Recurrent Neural Networks(RNN) 人类并不是每时每刻都从一片空白的大脑开始他们的思考.在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义 ...
- 使用BizTalk实现RosettaNet B2B So Easy
使用BizTalk实现RosettaNet B2B So Easy 最近完成了一个vmi-hub的B2B项目,使用Rosettanet 2.0的标准与一家品牌商,OEM,供应商实现B2B.一共交换4个 ...
- [HAOI 2015]按位或
Description 题库链接 刚开始你有一个数字 \(0\) ,每一秒钟你会随机选择一个 \([0,2^n-1]\) 的数字,与你手上的数字进行或( \(\text{or}\) )操作.选择数字 ...
- 类Exception_A继承Exception,类Exception_B继承Exception_A,请问执行此段代码的输出是什么?
@Test public void Test_Exception() { try { throw new ExceptionB("A"); } catch (ExceptionA ...