TheBeerHouse 系列三:从表示层开始上

~~刚完成一个小功能所以透透气我先说说WebPar:

下图是TheBeerHouse模板页的头部~~每个页必须有一个WebPartManager~~02.gif大家都知道了吧~~
wpar.gif
我们来看看aspx~~03.gif上图就是反映下面代码的,作用就是切换WebPar的当前的模式,以及应用范围,不过~~
安全验证被WebPar管理了.,......

None.gif
ExpandedBlockStart.gifContractedBlock.gif
<% dot.gif @ Control Language="C#" AutoEventWireup="true" CodeFile="PersonalizationManager.ascx.cs" Inherits="MB.TheBeerHouse.UI.Controls.PersonalizationManager"  %>
None.gif
< div  style ="text-align: right;" >
None.gif   
< asp:WebPartManager  ID ="WebPartManager1"  runat ="server"   />
None.gif   
< asp:LinkButton  ID ="btnBrowseView"  runat ="server"  OnClick ="btnBrowseView_Click"  meta:resourcekey ="btnBrowseViewResource1" > Browse View </ asp:LinkButton > &nbsp; | &nbsp;
None.gif   
< asp:LinkButton  ID ="btnDesignView"  runat ="server"  OnClick ="btnDesignView_Click"  meta:resourcekey ="btnDesignViewResource1" > Design View </ asp:LinkButton > &nbsp; | &nbsp;
None.gif   
< asp:LinkButton  ID ="btnEditView"  runat ="server"  OnClick ="btnEditView_Click"  meta:resourcekey ="btnEditViewResource1" > Edit View </ asp:LinkButton > &nbsp; | &nbsp;
None.gif   
< asp:LinkButton  ID ="btnCatalogView"  runat ="server"  OnClick ="btnCatalogView_Click"  meta:resourcekey ="btnCatalogViewResource1" > Catalog View </ asp:LinkButton >
None.gif   
< asp:Label  runat ="server"  ID ="panPersonalizationModeToggle" >
None.gif      
&nbsp; | &nbsp;
None.gif      
< asp:LinkButton  ID ="btnPersonalizationModeToggle"  runat ="server"  OnClick ="btnPersonalizationModeToggle_Click"  meta:resourcekey ="btnPersonalizationModeToggleResource1" > Switch Scope (current = {0}) </ asp:LinkButton >
None.gif   
</ asp:Label >
None.gif
</ div >



//--细心的朋友可能发现了
 meta:resourcekey="btnPersonalizationModeToggleResource1">是从Controls\App_LocalResources中取全球化设置用的App_LocalResources的主目录的设置可以应用于所有的目录,而Controls的设置应用于该自目录
qih.gif

有的朋友可能要问~~权限怎么办~~这样做不是全都能修改了么?09.gif别着急~~继续往下看:~~首先恶补点知识阿~~
1这是  WebPar:的流量模式
PersonalizationManager.ascx-是进入主页的时候切换编辑网上的WebPar模式的管理页浏览模式,
DesignDisplayMode(设计模式)。在设计模式中,会显示各区域的用户界面 (UI),然后用户可以拖动控件来更改布局。
EditDisplayMode  显示特殊的编辑 UI 元素并使最终用户能够在页面上编辑控件
CatalogDisplayMode 显示特殊的目录 UI 元素并使最终用户能够添加和移除页面控件。
ConnectDisplayMode 显示特殊的连接 UI 元素并使最终用户能够连接 Web 部件控件。

2.因为浏览模式和设计模式始终是受支持的。可能发生变化的显示模式是编辑、目录和连接模式。这些显示模式中,每一个都与特定类型的 ToolZone 控件相关联。正是网页上存在这种特定类型的区域,特定显示模式才会添加到,所以要确定显示模式。
对应于页上存在的区域控件类型,SupportedDisplayModes 属性只包含页上实际可用的显示模式。

3.关于权限     panPersonalizationModeToggle.Visible = WebPartManager1.Personalization.CanEnterSharedScope;当有admin权限的时候修改是关于全部人的。否则是自己哦


None.gif
None.gif
None.gif
using  System;
None.gif
using  System.Data;
None.gif
using  System.Configuration;
None.gif
using  System.Collections;
None.gif
using  System.Web;
None.gif
using  System.Web.Security;
None.gif
using  System.Web.UI;
None.gif
using  System.Web.UI.WebControls;
None.gif
using  System.Web.UI.WebControls.WebParts;
None.gif
using  System.Web.UI.HtmlControls;
None.gif
using  MB.TheBeerHouse;
None.gif
using  MB.TheBeerHouse.BLL.Polls;
None.gif
None.gif
namespace  MB.TheBeerHouse.UI.Controls
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif   
public partial class PersonalizationManager : System.Web.UI.UserControl
ExpandedSubBlockStart.gifContractedSubBlock.gif   
dot.gif{
InBlock.gif      
protected void Page_Load(object sender, EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif      
dot.gif{
InBlock.gif         
if (!this.IsPostBack)
InBlock.gif            UpdateUI();
ExpandedSubBlockEnd.gif      }

InBlock.gif
InBlock.gif      
protected void UpdateUI()
ExpandedSubBlockStart.gifContractedSubBlock.gif      
dot.gif{
InBlock.gif          
//---------------------------WebPartManager1.SupportedDisplayModes.Contains(WebPartManager.BrowseDisplayMode)通过查找确定某种模式是否可用
InBlock.gif          
//---如果可以用则Link-- btnBrowseView.Enabled=true
InBlock.gif
         btnBrowseView.Enabled = WebPartManager1.SupportedDisplayModes.Contains(WebPartManager.BrowseDisplayMode);
InBlock.gif         btnDesignView.Enabled 
= WebPartManager1.SupportedDisplayModes.Contains(WebPartManager.DesignDisplayMode);
InBlock.gif         btnEditView.Enabled 
= WebPartManager1.SupportedDisplayModes.Contains(WebPartManager.EditDisplayMode);
InBlock.gif         btnCatalogView.Visible 
= WebPartManager1.SupportedDisplayModes.Contains(WebPartManager.CatalogDisplayMode);
InBlock.gif
InBlock.gif
InBlock.gif         
//看看用户是否有权限显示-管理员的用的按钮
InBlock.gif          
//-该按钮的作用是可以切换到第是不把-对窗体的设计应用于自己,还是应用于全部用户那
InBlock.gif
         panPersonalizationModeToggle.Visible = WebPartManager1.Personalization.CanEnterSharedScope;
InBlock.gif         
//--显示管理员的设置应用的范围户状态
InBlock.gif
         btnPersonalizationModeToggle.Text = string.Format(btnPersonalizationModeToggle.Text,
InBlock.gif             WebPartManager1.Personalization.Scope.ToString() 
== "User"?"自己":"所有用户");
ExpandedSubBlockEnd.gif      }

InBlock.gif
InBlock.gif      
protected void btnBrowseView_Click(object sender, EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif      
dot.gif{
InBlock.gif         WebPartManager1.DisplayMode 
= WebPartManager.BrowseDisplayMode;
InBlock.gif         UpdateUI();
ExpandedSubBlockEnd.gif      }

InBlock.gif
InBlock.gif      
protected void btnDesignView_Click(object sender, EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif      
dot.gif{
InBlock.gif         WebPartManager1.DisplayMode 
= WebPartManager.DesignDisplayMode;
InBlock.gif         UpdateUI();
ExpandedSubBlockEnd.gif      }

InBlock.gif
InBlock.gif      
protected void btnEditView_Click(object sender, EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif      
dot.gif{
InBlock.gif         WebPartManager1.DisplayMode 
= WebPartManager.EditDisplayMode;
InBlock.gif         UpdateUI();
ExpandedSubBlockEnd.gif      }

InBlock.gif
InBlock.gif      
protected void btnCatalogView_Click(object sender, EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif      
dot.gif{
InBlock.gif         WebPartManager1.DisplayMode 
= WebPartManager.CatalogDisplayMode;
InBlock.gif         UpdateUI();
ExpandedSubBlockEnd.gif      }

ExpandedSubBlockStart.gifContractedSubBlock.gif      
/**//// <summary>
InBlock.gif      
/// 只有具有管理权限的人才可以触发的事件
InBlock.gif      
/// </summary>
InBlock.gif      
/// <param name="sender"></param>
ExpandedSubBlockEnd.gif      
/// <param name="e"></param>

InBlock.gif      protected void btnPersonalizationModeToggle_Click(object sender, EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif      
dot.gif{
InBlock.gif          
//如果当前的WebPart设计关联到User(只应用于用户)则切换到应用于全部用户,反之亦然
InBlock.gif
         WebPartManager1.Personalization.ToggleScope();
InBlock.gif         UpdateUI();
ExpandedSubBlockEnd.gif      }

ExpandedSubBlockEnd.gif   }

ExpandedBlockEnd.gif}

---又到困的时间了--这是用于验证成员是否具有权限的代码~~个人决的不错啊
None.gif        private   bool  _enablePersonalization  =   false ;
None.gif      
public   bool  EnablePersonalization
ExpandedBlockStart.gifContractedBlock.gif      
dot.gif {
ExpandedSubBlockStart.gifContractedSubBlock.gif         
get dot.gifreturn _enablePersonalization; }
InBlock.gif         
set
ExpandedSubBlockStart.gifContractedSubBlock.gif         
dot.gif{
InBlock.gif            _enablePersonalization 
= value;
InBlock.gif           
//----------------------------如果用户验证了并且输入的是true则PersonalizationManager1显示
InBlock.gif
            PersonalizationManager1.Visible = (this.Page.User.Identity.IsAuthenticated && value);
ExpandedSubBlockEnd.gif         }

ExpandedBlockEnd.gif      }

09.gif 09.gif 09.gif 09.gif
09.gif 09.gif 09.gif
09.gif 09.gif
09.gif ..本系列是原创阿~~不要误会拉~~

转载于:https://www.cnblogs.com/ajaxren/archive/2007/05/14/745088.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值