在OnBeforeNavigate2中调用Navigate2时,出现的有关问题

在OnBeforeNavigate2中调用Navigate2时,出现的问题
C/C++ code

...//解析截取到的url
Navigate2(新的url,NULL,NULL);        
*pbCancel = TRUE;
    CHtmlView::OnBeforeNavigate2(lpszURL, nFlags,    lpszTargetFrameName, baPostedData, lpszHeaders, pbCancel);

重载了OnBeforeNavigate2,主要过程如上。
新的url,能加载,但是,在加载前,OnBeforeNavigate2总是会截取到原来页的url。
比如,现在加载完的是页A,A向后台传递一个一定规则的url,OnBeforeNavigate2截取后,解析,调用Navigate2打开页B。然后,OnBeforeNavigate2应该能截取到打开页B的url,但是OnBeforeNavigate2先截取到的url为A#,接着才是页B的url。我在Navigate2内设置断点,确定,在调用Navigate2(页B)后,OnBeforeNavigate2前,没调用Navigate2。
我想问问,那个页A的url是怎么产生的?
谢谢了

------解决方案--------------------
1) pbCancel 是[in,out]的参数,你看看有问题的那次,传进来的pbCancel是否已经是TRUE

2)
*pbCancel = TRUE;
// 既然要cancel,就不必调用基类的了
// CHtmlView::OnBeforeNavigate2(lpszURL, nFlags, lpszTargetFrameName, baPostedData, lpszHeaders, pbCancel);
Navigate2(新的url,NULL,NULL);