《ASP.NET高级编程》中关于跨页传送的一个错误

    昨天买了这本书,发现了其中一个错误,在第65页,这个代码我修改过,稍有不同,在privious.aspx中有以下代码。

 

< html xmlns = " http://www.w3.org/1999/xhtml "   >
< head runat = " server " >
    
< title id  = " title1 "  runat  = " server " > 无标题页 </ title >
    
< style type = " text/css "   >
    #container {
    border:1px solid #
333333 ;
    width:500px;
    margin:0px 
auto ;
    }
    #
left {
    width:
80 %;
    float:
left ;
    }
    #
right {
    width:
20 %;
    float:
left ;
    }
    
    
</ style >
</ head >
< body >
    
< form id = " form1 "  runat = " server " >
    
< div id = " container " >
    
< div id = " left " >
        
< asp:Calendar ID = " Calendar1 "  runat = " server "  Height = " 243px "  Width = " 271px " ></ asp:Calendar >
    
</ div >
    
< div id = " right " >
        
< asp:Button ID = " Button1 "  runat = " server "  Text = " OK "   PostBackUrl  = " ~/Test/current.aspx "  AccessKey = " b "  BackColor = " #C0FFFF "  BorderColor = " Red "  BorderWidth = " 1px " /></ div >
    
</ div >
    
</ form >
</ body >
</ html >

 

其中利用button的postbackurl 属性将本页内的calendar1的所选日期传送到current.aspx,但是用了上述的代码后,不管如何单击button,都不能使页面转向current.aspx页面.

  

 

    Sub page_load(ByVal sender As ObjectByVal e As System.EventArgs)
        
If Page.IsCrossPagePostBack = True Then
            
       
            
Dim cale As Calendar
            cale 
= CType(PreviousPage.FindControl("calendar1"), Calendar)
            
            Label1.Text 
= cale.SelectedDate.ToString
        
Else
            Response.Redirect(
"previous.aspx")
        
End If
      
    
End Sub

 如果去掉current.aspx中"if page.iscrosspagepostback  then"语句,则可以转向,但无法判断是从privious.aspx过来,所以还是不能省略,在google搜索中,发现很多遇到类似的问题,但都没有找到根本原因,其实这个判断语句本身有问题,根本原因是privious.aspx将数值传送给current.aspx时,不是current.aspx 的iscrosspagepostback 的属性变成true了,privious.aspx的iscrosspagepostback 的属性变成true了,因此,判断语句应该改成

 If Page.PreviousPage.IsCrossPagePostBack = True Then.....

说的详细一点

 

在任何一种情况下,PreviousPage 页属性都将包含表示上一页或发信方页的对象。例如,如果页 A 发送至页 B,则页 A 的 IsCrossPagePostBack 属性(可通过 PreviousPage 属性访问)将为  true ,而页 B 的 PreviousPage 属性将具有页 A 的名称。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值