现在的位置: 首页 > 综合 > 正文

今天学习UIP的一点收获

2011年05月29日 ⁄ 综合 ⁄ 共 1884字 ⁄ 字号 评论关闭

看了微软的UIP例子
有点收获
1
先写 config配置文件

<navigationGraph 
                iViewManager
="WebFormViewManager"
                name
="Shopping" 
                state
="State" 
                statePersist
="SqlServerPersistState"
                startView
="browsecatalog"
                cacheExpirationMode
="Absolute"
                cacheExpirationInterval
="12:00:00">
                
            
<node view='cart'>
                
<navigateTo navigateValue="resume" view='browsecatalog' />
                
<navigateTo navigateValue="checkout" view='checkout' />
                
<navigateTo navigateValue="fail" view='error' />
                
<navigateTo navigateValue="stop" view='logon'/>
            
</node>
            
<node view='browsecatalog'>
                
<navigateTo navigateValue="addItem" view="cart"/>
                
<navigateTo navigateValue="fail" view='error' />
            
</node>
            
<node view='error'>
                
<navigateTo navigateValue="resume" view='cart' />
            
</node>
            
<node view="checkout">
                
<navigateTo navigateValue="congratulations" view="congratulations" />
                
<navigateTo navigateValue="failCheckout" view="checkout" />
            
</node>
            
<node view='congratulations'>
                
<navigateTo navigateValue="resume" view='cart' />
                
<navigateTo navigateValue="stop" view='cart' />
            
</node>
        
</navigationGraph>

这里就可以看出程序的导航路径了
2 真正控制导航的地方
比如web 页面有个按钮 点击的时候 对应代码如下

StoreControllerNavGraph.AddToCart(productID, 1);

就是 this.controler.addtocart
具体this.controler 就是上面 配置程序中给出的这个页面的控制器了
  <view name="cart" type="cart.aspx" controller="StoreControllerNavGraph" />
3 看看内部代码

base.AddToCart(productId,quantity);//执行具体的数据库也较商业逻辑操作-没什么别的
    this.State.NavigateValue = "addItem";
                
this.State.Save(); //Stores the state using the persistence provider related to this state.
            Navigate();//执行导航了

抱歉!评论已关闭.