无刷新上传aspnet
1. fileupload 上传时,出现文件访问被拒绝的错误
你的文件上传只能针对本网站内的目录。
如果你想传到C盘或D盘的目录。因为使用的aspnet内置账户,不一定对文件夹 有写入权限。
2. aspnet有什么好
ASP.NET优点主要表现在:
◆可管理性:
ASP.NET 使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和 Web 应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地管理工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。详细信息,请参阅ASP.NET 配置。
◆安全:
ASP.NET 为 Web 应用程序提供了默认的授权和身份验证方案。开发人员可以根据应用程序的需要很容易地添加、删除或替换这些方案。详细信息,请参阅ASP.NET 安全。
◆易于部署:
通过简单地将必要的文件复制到服务器上,ASP.NET 应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。详细信息,请参阅ASP.NET 部署。
◆增强的性能:
ASP.NET 是运行在服务器上的已编译代码。与传统的 Active Server Pages (ASP) 不同,ASP.NET 能利用早期绑定、实时 (JIT) 编译、本机优化和全新的缓存服务来提高性能。详细信息,请参阅ASP.NET 性能监视。
◆灵活的输出缓存:
根据应用程序的需要,ASP.NET 可以缓存页数据、页的一部分或整个页。缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行刷新。
◆国际化:
ASP.NET 在内部使用 Unicode 以表示请求和响应数据。可以为每台计算机、每个目录和每页配置国际化设置。
◆移动设备支持:
ASP.NET 支持任何设备上的任何浏览器。开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。
◆扩展性和可用性:
ASP.NET 被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。此外,Internet 信息服务 (IIS) 和 ASP.NET 运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。详细信息,请参阅ASP.NET 进程隔离。
◆跟踪和调试:
ASP.NET 提供了跟踪服务,该服务可在应用程序级别和页面级别调试过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪查看工具查看信息。在开发和应用程序处于生产状态时,ASP.NET 支持使用 .NET Framework 调试工具进行本地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产品代码中而不会影响性能。
◆与 .NET Framework 集成:
因为 ASP.NET 是 .NET Framework 的一部分,整个平台的功能和灵活性对 Web 应用程序都是可用的。也可从 Web 上流畅地访问 .NET 类库以及消息和数据访问解决方案。ASP.NET 是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。另外,公共语言运行库的互用性还保存了基于 COM 开发的现有投资。
◆与现有ASP应用程序的兼容性:
ASP和ASP.NET 可并行运行在IIS Web服务器上而互不冲突;不会发生因安装 ASP.NET 而导致现有 ASP 应用程序崩溃的可能。ASP.NET 仅处理具有 .aspx 文件扩展名的文件。具有 .asp 文件扩展名的文件继续由 ASP 引擎来处理。然而,应该注意的是会话状态和应用程序状态并不在 ASP 和 ASP.NET 页面之间共享。
另外ASP.NET优点还包括了ASP.NET启用了分布式应用程序的两个功能:Web窗体和 XML Web 服务。相同的配置和调试基本结构支持这两种功能。
Web 窗体技术使您建立强大的基于窗体的网页。Web 窗体页面使用可重复使用的内建组件或自定义组件以简化页面中的代码。
使用 ASP.NET 创建的 XML Web 服务可使您远程访问服务器。使用 XML Web 服务,商家可以提供其数据或商业规则的可编程接口,之后可以由客户端和服务器端应用程序获得和操作。通过在客户端/服务器和服务器/服务器方案中的防火墙范围内使用标准(如 XML 消息处理和 HTTP),XML Web 服务可启用数据交换。以任何语言编写的且运行在任何操作系统上的程序都能调用 XML Web 服务。
ASP.NET优点就向你介绍到这里,希望通过这样的介绍使你更加了解ASP.NET优点,更好的使用ASP.NET。
3. 寮鍙戜腑iFrame琛ㄥ崟鎻愪氦镄勫彜镐闂棰樿В鍐
銆銆寰杞镄 NET Framework 镊甯︿简Ajax妗嗘灦 灏嗕互寰浼犵粺镄𪞝SP NET寮鍙戝甫鍏ヤ简涓涓鍏ㄦ柊镄𪞝jax NET寮鍙戞椂浠 鎴戜滑闄や简鍦ㄩ〉闱涓婂紩鍏ScriptManager鎺т欢鐢ㄤ互鍦ㄥ㈡埛绔娉ㄥ唽锷熻兘涓板瘜镄𪞝jax妗嗘灦鑴氭湰澶 杩欎釜搴炲ぇ镄勬嗘灦杩樻彁渚涗简璇稿氩姛鑳藉己澶х殑Ajax鎺т欢 渚嫔傝宪钖岖殑UpdatePanel ModalPopupExtender Rating绛夋带浠 Ajax妗嗘灦鍜屾带浠剁殑寮曞叆澶уぇ绠鍖栦简寮鍙戜汉锻樼殑寮鍙戜换锷 钖屾椂涔熺粰鐢ㄦ埛甯︽潵浜嗗叏鏂扮殑Web浣挞獙 浣嗘槸鎴戜滑鍦ㄤ娇鐢ㄥ嶆潅镄勬嗘灦鎻愪緵镄勮剼链镞朵篃甯稿父浼氶亣鍒拌繖镙锋垨闾f牱镄勯梾棰 链夊緢澶氶梾棰樼浉淇′笉灏戝紑鍙戜汉锻橀兘鑳界嫭绔嬭В鍐 涓嶈繃链変簺澶嶆潅镄勯梾棰樿缮鐪熸槸寰堜激鑴戠璎
銆銆链𨱒ュ湪MOSS涓浣跨敤Ajax寮鍙戝氨宸茬粡涓嶆槸涓浠惰交鏄撶殑浜嬫儏 鎴栬搁珮镓嬩滑瑙夊缑杩欐病链変粈涔 鏄镄勶紒鎴戜滑鍦℅oogle涓娄细鎼滃埌寰埚氢粙缁嶈繖鏂归溃镄勬枃绔 钥屼笖閰岖疆姝ラら兘鍐椤缑闱炲父璇︾粏 鎸夌収鍓嶈緢浠镄勭粡楠 鍙瑕佽ょ湡鎸夌収姝ラゅ皢鐜澧冮厤缃濂 涓鑸閮芥槸娌℃湁浠涔堥梾棰樼殑 鍦∕OSS涓寮鍙慉jax搴旂敤绋嫔簭灏卞傚悓绠鍗旷殑Ajax缃戦〉涓镙 鍙鏄閮ㄧ讲镄勬椂鍊欑◢寰瑕侀夯鐑︿竴浜 杩欓噷鎴戜笉𨱍宠︾粏璁茶В鍦∕OSS涓濡备綍杩涜孉jax寮鍙 鍙鏄𨱍宠翠竴璇村墠娈垫椂闂村湪MOSS寮鍙戜腑锲犱负Ajax妗嗘灦镓寮曡捣镄勪竴涓闱炲父镐寮傜殑闂棰 涓鐩村汹镓颁简鎴戝ソ鍑犲ぉ 涓嶈繃链缁堢畻鏄濮旀洸姹傚叏寰楁垒鍒颁简涓涓镟夸唬镄勮В鍐冲姙娉 镊充簬浼氢笉浼氩紩璧峰叾瀹幂殑浠涔堥梾棰 璇昏呬篃鍙浠ュ府鎴戝垎鏋愪竴涓
銆銆鍓崭笉涔呮垜鍐欎简涓绡囨湁鍏冲湪FireFox涓阃氲繃鑴氭湰銮峰彇瀹㈡埛绔链鍦版墍阃夋枃浠惰矾寰勭殑鏂囩珷 閲岄溃浠嬬粛浜嗛氲繃瀹㈡埛绔涓娄紶鏂囦欢镞跺傛灉阃氲繃javascript寰楀埌鏂囦欢镄勬湰鍦拌矾寰 浜嫔疄涓 鍦ㄧ湡姝g殑鏂囦欢涓娄紶杩囩▼涓 寰楀埌鏂囦欢镄勫㈡埛绔璺寰勬剰涔夋槸涓嶅ぇ镄 闄ら潪鎴戜滑闇瑕佸疄鐜板傚浘鐗囨湰鍦伴勮堢殑锷熻兘 钖﹀垯鎴戜滑涓鑸閮藉彲浠ラ氲繃Form镄凯ost鏂规硶寰楀埌瑕佷笂浼犵殑鏂囦欢 鍦–#涓鑸閮芥槸杩欐牱镄
銆銆<body> <form id= form runat= server method= post enctype= multipart/form data > <input id= File name= mtfile type= file /> <asp:Button ID= Button runat= server Text= Button OnClick= Button _Click /> </form></body>
銆銆protected void Button _Click(object sender EventArgs e){ HttpFileCollection files = Request Files; if (files != null && files Count > ) { for (int i = ; i < files Count; i++) { // TODO something } }} 璁剧疆Form镄刴ethod灞炴т负post 骞惰剧疆enctype涓簃ulipart/form data 褰挞〉闱㈡彁浜ゆ椂 鍦ㄦ湇锷$阃氲繃Request Files鏂规硶鍗冲彲寰楀埌涓娄紶鏂囦欢镄勫硅薄闆嗗悎 闱炲父绠鍗 鎴戜滑镙规湰涓嶉渶瑕佸湪瀹㈡埛绔阃氲繃javascript寰楀埌鏂囦欢镄勮矾寰 涓嶈繃杩欓噷链変竴涓闄愬埗 闾e氨鏄椤甸溃蹇呴’post鍒版湇锷$镓嶈兘寰楀埌瑕佷笂浼犵殑鏂囦欢 涔熷氨鏄璇 鎴戜滑涓嶈兘阃氲繃javascript鏂瑰纺鍦ㄩ〉闱㈡棤鍒锋柊镄勬儏鍐典笅灏嗘枃浠朵笂浼犲埌链嶅姟鍣 杩欎篃鏄疉jax鍞涓涓嶈兘锅氩埌镄勪竴浠朵簨𨱍 涓嶈繃鎴戜滑阃氲繃涓涓姣旇缉钥佹棫镄勬妧链鍙浠ラ伩寮杩欎釜闂棰 闾e氨鏄鍦ㄩ〉闱涓娄娇鐢ㄩ殣钘忕殑iFrame 鍦ㄩ〉闱㈡彁浜ゅ墠灏咶orm镄则arget鎸囧悜杩欎釜闅愯棌镄刬Frame 椤甸溃鎻愪氦镞籼Frame浼氲鍒锋柊鎻愪氦 浠庤岄伩鍏崭简鏁翠釜椤甸溃琚鍒锋柊
銆銆浜嫔疄涓 鍦ˋjax鍏磋捣鍓 寰埚 镞犲埛鏂 镄勯〉闱㈠嚑涔庨兘鏄阃氲繃杩欑嶆柟寮忔潵瀹炵幇镄 iFrame鍙浠ユ彁浜ゆ暟鎹 钥屼笖杩橀伩鍏崭简缃戦〉镄勬暣浣揿埛鏂 鍦ˋjax鍏磋捣钖 iFrame浼间箮寰埚皯鍐嶈浜轰滑鎻愯捣 浣嗘槸链変竴涓渚嫔
銆銆闾e氨鏄鏂囦欢涓娄紶锛佹垜浠鍙浠ュ幓褰扑粖姣旇缉娴佽岀殑缃戠珯钥冨疗涓涓 镀 闾绠 Gmail绛 閮芥棤涓渚嫔栧湴浣跨敤浜唅Frame涓娄紶鏂囦欢 鎴戜滑鍙浠ュ皢涓婇溃浠g爜涓镄凥TML閮ㄥ垎绋崭綔淇鏀瑰氨鍙浠ュ疄鐜颁娇鐢╥Frame涓娄紶鏂囦欢镄勫姛鑳
銆銆<body> <form id= form runat= server target= ifu method= post enctype= multipart/form data > <iframe frameborder= id= ifu name= ifu ></iframe> <input id= File name= mtfile type= file /> <asp:Button ID= Button runat= server Text= Button OnClick= Button _Click /> </form></body> 钖庡彴浠g爜涓嶅彉 鍙鏄鍦‵orm涓婂姞浜嗕竴涓猼arget灞炴 鐢ㄦ潵鎸囧悜iFrame 褰挞〉闱㈡彁浜ゆ椂浼氲嚜锷ㄦ彁浜iFrame瀵硅薄 钥屼笉浼氩皢Form链韬鎻愪氦 褰挞亣鍒伴〉闱涓婅缮链夊叾瀹冭〃鍗曢渶瑕佹彁浜ゆ椂 鎴戜滑鍙浠ヨ繖镙峰仛 鍏埚湪鎻愪氦鎸夐挳镄勫㈡埛绔浜嬩欢涓婂皢Form镄则arget鎸囧悜闅愯棌镄刬Frame 铹跺悗杩斿洖True鎻愪氦琛ㄥ崟 杩欐椂iFrame浼氲鎻愪氦 鍦ㄦ湇锷$澶勭悊瀹屾暟鎹淇濆瓨钖庢敞鍐屼竴娈佃剼链 鐢ㄦ潵灏唅Frame镄勭埗椤甸溃涓璅orm镄则arget鏀瑰洖镊韬 杩欐牱灏卞彲浠ユā𨰾熶竴娆iFrame鎻愪氦钥屼笉浼氩奖鍝嶅埌椤甸溃涓婂叾瀹幂殑锷熻兘 鎴戜滑鍙鏄鍦ㄩ〉闱㈤渶瑕佽鎻愪氦镞舵墠铡讳慨鏀笷orm镄则arget灞炴 鎻愪氦瀹屽悗鍐嶆敼锲炴潵
銆銆杩欑湅璧锋潵浼间箮鏄涓涓寰堜笉阌欑殑涓绘剰 鐪嬬湅浠g爜钖э紒
銆銆<body> <form id= form runat= server method= post enctype= multipart/form data > <iframe frameborder= id= ifu name= ifu ></iframe> <input id= File name= mtfile type= file /> <asp:Button ID= Button onclientclick= document forms[ form ] target = ifu ;return true; runat= server Text= Button OnClick= Button _Click /> </form></body>
銆銆protected void Button _Click(object sender EventArgs e){ HttpFileCollection files = Request Files; if (files != null && files Count > ) { for (int i = ; i < files Count; i++) { //TODO something } } string script = alert( { } );window parent document forms[ form ] target = _self ; ; ClientScript RegisterClientScriptBlock(this Page this GetType() string Empty string Format(script Save Successfully! ) true);}
銆銆灏界℃垜浠鍦ㄩ〉闱涓娄娇鐢ˋjax鎺т欢 璇ユ柟娉曚粛铹朵细濂忔晥 闇瑕佽存槑涓镣瑰氨鏄 涓娄紶鏂囦欢镄勫姛鑳芥槸涓嶈兘鍦║ploadPanel鎺т欢涓浣跨敤镄 钖﹀垯锷熻兘浼氩け鏁 锲犱负鏂囦欢涓娄紶蹇呴’鍒锋柊椤甸溃 闄ら潪鎴戜滑浣跨敤iFrame鎻愪氦琛ㄥ崟 濡傛灉闱炶佸湪UpdatePanel鎺т欢涓瀹屾垚鏂囦欢涓娄紶锷熻兘 闾e繀椤昏剧疆UpdatePanel鎺т欢镄凯ostBackTrigger灞炴 灏呜Е鍙戜簨浠剁殑鎺т欢娣诲姞鍒癙ostBackTrigger涓 濡
銆銆<asp:UpdatePanel ID= update runat= server UpdateMode= Conditional > <ContentTemplate> <input id= File name= mtfile type= file /> <asp:Button ID= btSave runat= server Text= Save onclick= btSave_Click /> </ContentTemplate> <Triggers> <asp:PostBackTrigger ControlID= btSave /> </Triggers></asp:UpdatePanel>
銆銆杩椤皢瀵艰嚧椤甸溃锲炰紶 UpdatePanel鎺т欢镄勬剰涔変篃灏卞け铡讳简 鍦ㄩ〉闱涓婃斁缃闅愯棌镄刬Frame 鎸夌収鍓嶉溃浠嬬粛镄勬柟娉曢氲繃javascript锷ㄦ佸幓淇鏀笷orm镄则arget灞炴 鎻愪氦iFrame 鍙浠ュ疄鐜扮被浼间簬Ajax鏂瑰纺镄勬枃浠朵笂浼犲姛鑳 鍏跺疄椤甸溃钖屾牱琚鍒锋柊浜 鍙鏄鍒锋柊镄勬槸闅愯棌镄刬Frame 鐢ㄦ埛涓崭细链変粈涔堟劅瑙
銆銆鍓嶉溃璇翠简杩欎箞澶 鍙鏄𨱍宠磋存垜镓阆囧埌镄勯梾棰樼殑鑳屾櫙 鐜板湪姝ュ叆姝i桡紒
銆銆鍦∕OSS涓寮鍙戦〉闱㈠拰鏅阃氱殑ASP NET椤甸溃锘烘湰娌℃湁浠涔堜笉钖 涓昏佸氨鏄閮ㄧ讲镄勬椂鍊欎细链変竴浜涢夯鐑 闾d箞 鎸夌収鍓嶉溃浠嬬粛镄勬柟娉曞皢缂栧啓濂界殑椤甸溃閮ㄧ讲鍒扮珯镣逛笂 杩愯屾椂鎴戝彂鐜颁简涓涓濂囨镄勯梾棰 闾e氨鏄绗涓娆℃寜阍瑙﹀彂浜嬩欢镄勬椂鍊欐湇锷$鍙浠ユg‘鍝嶅簲 骞朵笖鏄阃氲繃iFrame鎻愪氦杩囨潵镄 浣嗘槸浠庣浜屾″紑濮嫔氨闇瑕佺瓑寰呭崄鍑犵掔殑镞堕棿鎸夐挳镓嶈兘鍐嶆¤瑙﹀彂 涓寮濮嬫垜浠ヤ负鏄痠Frame鍦ㄨ鎻愪氦钖庢病链夊搷搴斿畬姣 𨱒ヤ笉鍙婂勭悊绗浜屾¤锋眰 钖庢潵阃氲繃璁剧疆鏂镣瑰拰鎻掑叆璋冭瘯鑴氭湰杩涜屾祴璇 鍙戠幇iFrame宸茬粡瀹屽叏鍝嶅簲瀹屾瘯 鎸夐挳杩樻槸涓嶈兘琚镣瑰嚮锛堣繖閲岃寸殑鎸夐挳涓嶈兘琚镣瑰嚮鏄鎸嘊utton涓嶈兘鍝嶅簲链嶅姟绔浜嬩欢锛
銆銆绌剁珶鍙戠敓浜嗕粈涔堥梾棰桡纻
銆銆鍦 NET 镞朵唬 鎴戜滑阃氩父浼氶亣鍒版寜阍镄勪簨浠朵涪澶辩瓑闂棰 浣呜繖鏄鍦 NET 镄勭幆澧冧笅 镙规湰涓嶅瓨鍦ㄨ繖绉嶉梾棰 鍐典笖鎸夐挳鍦ㄧ涓娆$殑镞跺欐槸鍙浠ヨ镣瑰嚮镄 绋嫔簭涓鐩村勪簬杩愯岀姸镐 娌℃湁浜轰慨鏀硅繃浠g爜 璁╂垜闱炲父濂囨锛佽繖涓闂棰樻垜鍙嶅嶈皟璇曞苟閲囩敤浜嗗緢澶氢笉钖岀殑鏂规硶铡诲皾璇 浣嗘槸闂棰树緷镞 濡傛煡鐪嬮〉闱涓婂叾瀹冮儴鍒嗗彲鑳藉艰嚧镄勮剼链骞叉𡒄 setInterval鏂规硶镄勪娇鐢ㄦ槸钖︿细瀵艰嚧绋嫔簭澶勪簬绛夊緟鐘舵侊纸浜嫔疄涓婅繖涓镙规湰涓嶅彲鑳斤级
銆銆铡绘帀镓链夊彲鑳藉艰嚧姝ら梾棰樼殑鎺т欢鍜屼唬镰佺瓑绛 澶╁晩锛佹垜鍑犱箮灏濆敖浜嗘墍链夎兘澶熸兂鍒扮殑锷炴硶 浣嗘槸杩椤潡澶х煶澶翠緷铹剁汗涓濅笉锷 鎴戝穿婧冧简锛侊紒
銆銆杩囦简涓涓锻ㄦ汤 鍦ㄥ剁浔浜嗕袱澶 鑴戞捣涓涓鐩存兂镄勫氨鏄绌剁珶鏄浠涔埚师锲犲艰嚧浜嗘寜阍镄勪簨浠朵笉鑳借瑙﹀彂 鎴戜篃灏濊瘯杩囧湪FireFox涓嫔埄鐢‵ireBug璺熻釜鎸夐挳镄勫㈡埛绔浠g爜镓ц屾儏鍐 娌℃湁浠涔堢粨鏋 锻ㄤ竴涓婄彮镄勬椂鍊欑獊铹舵兂鍒扮敤鎺挜櫎娉曟潵楠岃瘉涓涓 鐪嬬湅绌剁珶鏄鍝閮ㄥ垎浠g爜鍑虹幇浜嗛梾棰 锲犱负涔嫔墠鎴戝湪链鍦板垱寤虹殑宸ョ▼涓浣跨敤浜唅Frame鎻愪氦琛ㄥ崟 骞朵笖鍒╃敤javascript鍦ㄩ〉闱㈠线杩旀湇锷″櫒镄勮繃绋嬩腑锷ㄦ佷慨鏀逛简Form镄则arget灞炴 骞舵病链夊彂鐜版寜阍浜嬩欢涓嶈兘琚瑙﹀彂镄勯梾棰 璇存槑闂棰树笉鏄鍑哄湪鎴戞墍鍐欑殑浠g爜涓 鎴戝湪MOSS绔欑偣涓鍒涘缓浜嗕竴涓锷熻兘涓镙风殑椤甸溃 涓婇溃鍙链夐潪甯哥亩鍗旷殑鍑犺屼唬镰 铹跺悗缂栬疟 閮ㄧ讲 婵娲荤壒瀹氱殑Feature 璁块梾椤甸溃 绠鍗旷湅浜嗕竴涓 锷熻兘寰堟e父 璇存槑杩欑嶆柟娉曞湪MOSS涓嬫槸鍙浠ユe父浣跨敤镄 骞舵病链変箣鍓嶅亣璞$殑浼氩弹鍒癕OSS链韬链哄埗镄勫奖鍝
銆銆鐢熶骇鐜澧冧腑镄勯〉闱㈣佺◢寰澶嶆潅涓浜 閲岄溃闄や简涓浜涘繀椤荤殑锷熻兘鍜孶serControl澶 鏁翠釜椤甸溃鏄缁ф圹镊涓涓鍏鍏辩殑妯℃澘椤 闅鹃亾闂棰桦嚭鍦ㄦā𨱒块〉涓婏纻鎴戝张浠旂粏鐪嬩简鐪嬫ā𨱒块〉涓镄勪唬镰 鍑犱箮灏濊瘯镌灏嗘ā𨱒块〉涓镓链夌殑鎺т欢閮藉垹闄や简 浣嗘槸闂棰树緷铹舵病链夎В鍐 涓韬鍐锋睏鍟 涓涓婂崃镄勬椂闂村氨杩欎箞璁╂垜娴璐逛简 锅氲繃MOSS椤圭洰镄勬湅鍙嫔彲鑳戒细姣旇缉娓呮 鍦∕OSS涓婂紑鍙戦”鐩澶嶆潅镄勫苟涓嶆槸濡备綍铡诲啓浠g爜 钥屾槸閮ㄧ讲鍜岃皟璇 缁忓父澶ф妸镄勬椂闂撮兘娴璐瑰湪杩欎釜涓婇溃 镟翠綍鍐垫垜涓轰简娴嬭瘯杩欎釜闂棰树骇鐢熺殑铡熷洜杩樿佹柊寤洪〉闱㈤吨鏂伴儴缃茬珯镣 铹跺悗璋冭瘯浠g爜 鍏夎繖涓杩囩▼灏辨瘆杈幂箒鐞愪简
銆銆鍙嶆e凡缁忓紑濮嫔仛浜 鍗堥キ杩囧悗 鎴戞墦绠楀交搴曟闷瀹氩畠 闂棰樻棦铹朵笉鏄鍑哄湪椤甸溃链韬 闾d竴瀹氭槸鍑哄湪妯℃澘椤典笂 锲犱负涔嫔墠娌″姞妯℃澘椤电殑镞跺欐槸鍙浠ョ殑 钖庢潵灏嗛〉闱㈢户镓胯嚜妯℃澘椤靛悗闂棰桦氨𨱒ヤ简 鍦‵ireFox涓镆ョ湅椤甸溃镄勬簮浠g爜 浠旂粏镆ョ湅鐢熸垚镄凥TML鍜岃剼链 鍙戠幇鍦˙ody鍜孎orm镙囩句笂链変袱涓鑴氭湰浜嬩欢 涓岖煡阆撴槸骞蹭粈涔堢敤镄 寰埚ソ濂 闂浜嗕竴涓嬭佸ぇ 浠栬磋繖鏄疢OSS鍦ㄦ柊寤烘ā𨱒块〉镞惰嚜锷ㄥ姞涓婄殑 娌℃湁璋佸埢镒忓幓锷犲畠 浠g爜鐗囨靛备笅
銆銆<body onload= javascript:_spBodyOnLoadWrapper(); > <form id= Form runat= server onsubmit= return _spFormOnSubmitWrapper(); method= post enctype= multipart/form data > 鎴戝皾璇旷潃灏呜繖涓や釜浜嬩欢鍙栨秷鎺 铹跺悗閲嶆柊閮ㄧ讲杩愯岀▼搴 鍝埚搱锛佺粓浜庡彲浠ヤ简 闾d釜鎸夐挳镄勪簨浠跺啀涔熸病链変涪澶辫繃 鍙浠ヤ竴鐩磋镣瑰嚮 钥屼笉浼氩嚭鐜颁笉鍝嶅簲镄勬儏鍐 鍏跺疄缃榄佺ジ棣栫殑灏辨槸form镄刼nsubmit浜嬩欢涓镄刜spFormOnSubmitWrapper鏂规硶 鍙栨秷瀹冨氨鍙浠ヨВ鍐抽梾棰
銆銆浣嗘槸闂棰橀┈涓婂张𨱒ヤ简 镞㈢劧杩欎釜浜嬩欢鏄疢OSS镊锷ㄥ姞涓婄殑 闾h偗瀹氭湁瀹幂殑鐢ㄩ 鎴戜滑涓嶈兘闅忔剰灏卞皢瀹冨垹鎺 璇翠笉瀹氢互钖庡摢閲屽氨浼氩嚭闂棰桡纸铏界劧鎴戝埌钖庢潵涔熶笉澶娓呮氲繖涓鍑芥暟绌剁珶鏄鐢ㄦ潵骞蹭粈涔堢殑锛 闾d箞鍙鑳芥洸绾挎晳锲戒简 鐢‵ireBug鐪嬬湅瀹幂殑鍏蜂綋浠g爜钖 椤轰究璺熶简涓涓
銆銆var _spSuppressFormOnSubmitWrapper=false;function _spFormOnSubmitWrapper(){if (_spSuppressFormOnSubmitWrapper){return true;}if (_spFormOnSubmitCalled){return false;}if (typeof(_spFormOnSubmit)== function ){var retval=_spFormOnSubmit();var testval=false;if (typeof(retval)==typeof(testval) && retval==testval){return false;}}RestoreToOriginalFormAction();_spFormOnSubmitCalled=true;return true;} 杩欎釜鏂规硶鍙瑕佽繑锲潇rue灏变细瑙﹀彂链嶅姟鍣ㄧ镞堕棿 濡傛灉杩斿洖false鍒欎笉浼氲Е鍙 鎴戝弽澶岖湅浜嗕竴涓 瀵艰嚧鍑芥暟杩斿洖false镄勫师锲犳槸锲犱负_spFormOnSubmitCalled镄勫间负true 闾d箞鎴戜滑鍙闇瑕佸皢杩欎釜鍙橀噺镄勫艰句负false鍗冲彲閲嶆柊瑙﹀彂链嶅姟鍣ㄧ浜嬩欢浜 杩欎釜濂藉姙 鎴戦┈涓娄慨鏀逛唬镰 鍦╞utton鎸夐挳镄勫㈡埛绔浜嬩欢浠g爜涓杩欐牱鍐
銆銆//aspnetForm涓篎orm镄勫㈡埛绔痭ame iframeHidden涓洪殣钘忕殑iFrame镄刵amedocument forms[ aspnetForm ] target = iframeHidden ;_spFormOnSubmitCalled = false;return true; 铹跺悗链嶅姟绔杩斿洖镄勬椂鍊椤啀灏唂orm镄则arget鏀瑰洖_self 杩欐牱灏卞彲浠ヤ简锛
銆銆鎴戜笉鐭ラ亾MOSS镊锷ㄥ姞涓婄殑闾d釜Form浜嬩欢鏄鐢ㄦ潵骞蹭粈涔堢殑 浣呜呖灏戞垜璁_spFormOnSubmitCalled鍙橀噺镄勫间负false鍙浠ュ艰嚧鎸夐挳镄勪簨浠惰瑙﹀彂 骞朵笖鍙浠ュ疄鐜版垜棰勬湡镄勬晥鏋
銆銆锲犱负鎴戝湪椤甸溃鎻愪氦鎴愬姛钖庝细鏁翠釜鍒锋柊椤甸溃 镓浠ヤ篃涓岖敤𨰾呭绩淇鏀硅繖涓鍊煎悗浼氩甫𨱒ヤ粈涔堟牱镄勫悗鏋 链钖庢潵鐪嬩竴涓嬫湇锷″櫒绔瑕佹敞鍐岀殑鑴氭湰
銆銆private const string scriptOK = @ alert( { } ); window parent location href += # ; window parent location reload(); ;private const string scriptFailed = @ alert( { } ); window parent document forms[ aspnetForm ] target = _self ; ; 鍒嗕负涓ょ 濡傛灉鎴愬姛鍒欓吨鏂板埛鏂版暣涓椤甸溃 濡傛灉澶辫触鍒欎慨鏀圭埗椤甸溃Form镄则arget灞炴х殑鍊间负_self 浣犲彲鑳戒细闂鎴戜负浠涔堣佸皢鐖堕〉闱㈢殑location href锷犱笂涓涓# 杩欎富瑕佹槸涓轰简瑙e喅鍦‵ireFox涓嬮氲繃iFrame鎻愪氦琛ㄥ崟骞堕吨鏂板埛鏂版暣涓椤甸溃镞跺嚭鐜版槸钖﹂吨鏂版彁浜ゆ暟鎹镄勬彁绀猴纸杩欎釜闂棰桦湪IE涓嬩笉浼氩嚭鐜帮级 娴忚埚櫒鍙璁URL 鎴戜滑绋嶅井淇鏀逛竴涓婾RL镄勫唴瀹 鍙瑕佸湴鍧涓嶅彉 閲嶆柊鍒锋柊椤甸溃镞跺氨涓崭细鍑虹幇鏄钖﹂吨鏂版彁浜ゆ暟鎹镄勬彁绀轰简
銆銆鍒扮洰鍓崭负姝 鎴戝皢鎴戠殑浠g爜锅氢简杩欐牱镄勪慨鏀 涓岖煡阆扑细涓崭细阆囧埌浠涔堥梾棰 鍐栾繖绡囨枃绔犵殑鐩镄勬湁涓や釜 涓鏄璁板綍涓涓嬭嚜宸辫В鍐宠繖涓闂棰樼殑杩囩▼ 浜屾槸𨱍冲憡璇夊悇浣嶆e湪锅歁OSS寮鍙戠殑链嫔弸 濡傛灉阆囧埌阃氲繃Ajax鏂瑰纺镞犳硶瑙﹀彂链嶅姟鍣ㄧ浜嬩欢镄勯梾棰樻椂 涓嶅Θ璁ょ湡妫镆ユ镆ュ㈡埛绔鐢熸垚镄凥TML鍜岃剼链 镓炬垒铡熷洜鍦ㄥ摢閲
lishixin/Article/program/net/201311/12554