ASP.Net 2.0中使用新的WebForm_DoPostBackWithOptions函数取代常规以前所使用的__doPostback函数...

ASP.Net 2.0中使用新的WebForm_DoPostBackWithOptions函数取代常规以前所使用的__doPostback函数

(本文来自ASP.NET 2.0中实现跨页面提交

  当设置了Button控件的PostBackUrl属性之后,ASP.NET运行时将为按钮控件的所对应的的html元素绑定一段新的JavaScript代码。使用新的 WebForm_DoPostBackWithOptions函数取代常规以前所使用的__doPostback函数。具体的HTML代码示例如下:

None.gif <input type = " submit "  name = " Button2 "  value = " Postback to Second Page "  onclick = " javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions( " Button2 " "" , false,  "" " SecondPage.aspx " , false, false)) "  id = " Button2 "   / > 
None.gif


  上述代码中的WebForm_DoPostBackWithOptions函数与WebForm_PostBackOptions函数的javascript代码如下:

 

ExpandedBlockStart.gif ContractedBlock.gif function  WebForm_PostBackOptions(eventTarget, eventArgument, validation, validationGroup, actionUrl, trackFocus, clientSubmit)  dot.gif {
InBlock.gif    
this.eventTarget = eventTarget;
InBlock.gif    
this.eventArgument = eventArgument;
InBlock.gif    
this.validation = validation;
InBlock.gif    
this.validationGroup = validationGroup;
InBlock.gif    
this.actionUrl = actionUrl;
InBlock.gif    
this.trackFocus = trackFocus;
InBlock.gif    
this.clientSubmit = clientSubmit;
ExpandedBlockEnd.gif}

None.gif 
ExpandedBlockStart.gifContractedBlock.gif
function  WebForm_DoPostBackWithOptions(options)  dot.gif {
InBlock.gif    
var validationResult = true;
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if (options.validation) dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif        
if (typeof(Page_ClientValidate) == 'function') dot.gif{
InBlock.gif            validationResult 
= Page_ClientValidate(options.validationGroup);
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if (validationResult) dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif        
if ((typeof(options.actionUrl) != "undefined"&& (options.actionUrl != null&& (options.actionUrl.length > 0)) dot.gif{
InBlock.gif            theForm.action 
= options.actionUrl;
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockStart.gifContractedSubBlock.gif        
if (options.trackFocus) dot.gif{
InBlock.gif            
var lastFocus = theForm.elements["__LASTFOCUS"];
ExpandedSubBlockStart.gifContractedSubBlock.gif            
if ((typeof(lastFocus) != "undefined"&& (lastFocus != null)) dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif                
if (typeof(document.activeElement) == "undefined"dot.gif{
InBlock.gif                    lastFocus.value 
= options.eventTarget;
ExpandedSubBlockEnd.gif                }

ExpandedSubBlockStart.gifContractedSubBlock.gif                
else dot.gif{
InBlock.gif                    
var active = document.activeElement;
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
if ((typeof(active) != "undefined"&& (active != null)) dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif                        
if ((typeof(active.id) != "undefined"&& (active.id != null&& (active.id.length > 0)) dot.gif{
InBlock.gif                            lastFocus.value 
= active.id;
ExpandedSubBlockEnd.gif                        }

ExpandedSubBlockStart.gifContractedSubBlock.gif                        
else if (typeof(active.name) != "undefined"dot.gif{
InBlock.gif                            lastFocus.value 
= active.name;
ExpandedSubBlockEnd.gif                        }

ExpandedSubBlockEnd.gif                    }

ExpandedSubBlockEnd.gif                }

ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if (options.clientSubmit) dot.gif{
InBlock.gif        __doPostBack(options.eventTarget, options.eventArgument);
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

None.gif


  用户点击按钮时,当前表单将内容提交给PostPageUrl属性所指定的目标页面。当页面中含有可以实现跨页面提交功能的控件时,页面会创建一个name为__PREVIOUSPAGE的隐藏字段,此字段包含了源页面的信息。目标页面则使用此信息来创建一个完整状态的引用来调用源页面对象。上述隐藏字段的相关HTML代码示例如下:

None.gif <input type = " hidden "  name = " __PREVIOUSPAGE "  id = " __PREVIOUSPAGE "  value = " ND3_1GqjDSUeAC3yLYVz-eQrkTzZLYFHliIFf7mMQVBdmwZmFi8HG4mzX5pfZY0n0 "   / > 
None.gif

 

转载于:https://www.cnblogs.com/Wangyong-Wen/archive/2007/04/03/698050.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值