ASP.NET Zero--8.一个例子(1)菜单添加

以一个商品分类管理功能来编写,代码尽量简单易懂。从一个实体开始,一直到权限控制,由浅到深一步步对功能进行完善。

1.打开语言文件

【..\MyCompanyName.AbpZeroTemplate.Core\Localization\AbpZeroTemplate\AbpZeroTemplate-zh-CN.xml】

添加2个键值对,如下:

<text name="Shop" value="商店" />
<text name="CategoryManager" value="分类管理" />

2.打开文件PageNames.cs

【..\MyCompanyName.AbpZeroTemplate.Web\App_Start\Navigation\PageNames.cs】

在Common类下添加2个常量:

public const string Shop = "Shop";
public const string Category = "Category";

3.打开文件MpaNavigationProvider.cs

【..\MyCompanyName.AbpZeroTemplate.Web\Areas\Mpa\Startup\MpaNavigationProvider.cs】

添加如下代码到测试菜单下:

.AddItem(new MenuItemDefinition(
                    PageNames.App.Common.Shop,//一个常量,控制菜单是否被选中
                    L("Shop"),//菜单显示名称,在语言文件中配置
                    icon: "icon-globe"//菜单图标
                    ).AddItem(new MenuItemDefinition(
                        //子菜单
                        PageNames.App.Common.Category,
                        L("CategoryManager"),
                        url:"Mpa/Category",
                        icon: "icon-globe"
                        ))
                )

4.生成项目

生成项目,刷新页面

时间: 2024-08-17 23:25:42

ASP.NET Zero--8.一个例子(1)菜单添加的相关文章

ASP.NET Zero--10.一个例子(3)商品分类管理-新建

1.打开Index视图 页面中添加一个按钮,代码如下: <div class="row margin-bottom-5"> <div class="col-xs-6"> <div class="page-head"> <div class="page-title"> <h1> <span>分类</span> <small>@L(&q

[ASP.NET MVC2 系列] ASP.Net MVC教程之《在15分钟内用ASP.Net MVC创建一个电影数据库应用程序》

[ASP.NET MVC2 系列]      [ASP.NET MVC2 系列] ASP.Net MVC教程之<在15分钟内用ASP.Net MVC创建一个电影数据库应用程序>      [ASP.NET MVC2 系列] ASP.Net MVC教程之<ASP.NET MVC 概述>     [ASP.NET MVC2 系列] 理解MVC应用程序的执行过程     [ASP.NET MVC2 系列] ASP.NET MVC Routing概述      [ASP.NET MVC2

iOS 中 #error宏 的使用的一个例子

头文件中如下定义宏: /** * @brief 默认空间名(必填项) */ #error 必填项 #define DEFAULT_BUCKET @"" /** * @brief 默认表单API功能密钥 (必填项) */ #error 必填项 #define DEFAULT_PASSCODE @"" 类的实现中使用: self.bucket = DEFAULT_BUCKET; self.passcode = DEFAULT_PASSCODE; 这样,如果没有初始化这两

一个例子理解threadLocal用法

ThreadLocal可以使对象达到线程隔离的目的.话不多说直接上代码: /** * 一个例子理解threadLocal * * 一个单例模式的类 */ public class SingleThreadLocalTest { private static SingleThreadLocalTest single = new SingleThreadLocalTest(); private ThreadLocal<String> threadLocal = new ThreadLocal<

subsys_initcall宏定义的一个例子,acpi/bus.c里面。

static int __init acpi_init(void) { int result; if (acpi_disabled) { printk(KERN_INFO PREFIX "Interpreter disabled.\n"); return -ENODEV; } acpi_kobj = kobject_create_and_add("acpi", firmware_kobj); if (!acpi_kobj) { printk(KERN_WARNING

js的prototype扩展的一个例子,模仿C#的StringBuilder功能,数组组合字符串,效率大于+拼凑

function StringBuilder() { this._strings_ = new Array;}StringBuilder.prototype.append = function (str) { this._strings_.push(str);};StringBuilder.prototype.toString = function () { return this._strings_.join("");}; js的prototype扩展的一个例子,模仿C#的Strin

javascript闭包的一个例子

<html> <head> <title>elementFromPoint</title> <script type="text/javascript"> window.onload = function(){ for(var i=0; i<6; i++){ var alink = document.createElement('a'); var titleText = document.createTextNode('

线程间共享数据的一个例子

[申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出. 联系邮箱:[email protected]] 题目:输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n). 题目分析: 一.如果数组中全部为负数,则返回最大负数值即可 二.当既有正数也有负数的时候: (1)从左往右叠加,如果当前叠加值小于或者等于0,则放弃,叠加总和清0(加一个负数或者0是毫无意义的),从此位置继续重新叠加 (

ASP.NET MVC提交一个较复杂对象至WCF Service

前一篇<jQuery.Ajax()执行WCF Service的方法>http://www.cnblogs.com/insus/p/3727875.html 我们有练习在asp.net mvc应用程序中,POST 数据去wcf service并执行方法.本篇的练习是提交较复对象至wcf service执行方法.前一篇中,它只传递两个参数.如果我们平时开发,需要传递过多的参数时,那得需要写很多个参数.因此产生此篇,把较多个参数,创建为一个对象.然后只传递这个对象至wcf service即可. 下面

自己写了一个弹出菜单,有间隙也可以

<!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> <meta http-equiv="Content-