李威 さぽている

          小說翻譯,日語相關轉移至http://blog.hjenglish.com/liwei

          接著談FileUpload的問題

          上次(http://www.aygfsteel.com/liwei/archive/2006/09/09/68697.html)談了fileupload控件的一些內容,主要談的是點擊自己定義的按鈕時,觸發該控件的一些幕后過程,但點擊控件中的瀏覽(英文為browse,日文為參照)時,仍然有些黑幕。
          fileupload控件由一個textbox和一個button構成,但因它將兩個封裝在一起了,我們沒法對其單獨操作,只能利用提供的屬性方法來操縱它。
          在點擊控件中的瀏覽按鈕時,它會先檢查textbox里是否有內容,如果沒有,它會調用系統中最近打開的文件夾,然后將其打開,默認會打開我的文檔;如果有值,它會依照該值來打開文件夾。在這里就會出現問題了,如果textbox里的值是標準的文件路徑的話,沒問題,但不是的話,就可能出問題,解決都很麻煩。據我測試的結果,幾下幾種情況會有問題:1不少于一個的/;2不少于一個的|;3不少于一個的<;(4兩個.;5兩個字符的組合:/)多個字符組合時,不確定。當出現一個\時,以上幾種情況都會無效。要是有其他不確定情況,還得請大家賜教了。當有以上情況時,點擊瀏覽時,它不會彈出文件選擇對話框。
          要解決這個問題,我也沒好的方法。不過有些能啟發人的思路。

          <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="FileUpload1"?
          ???????????? ErrorMessage="必&#39035;是 jpg或者gif文件" ValidationExpression="^(([a-zA-Z]:)|(\\{2}\W+)\$?)(\\(\W[\W].*))+(.jpg|.Jpg|.gif|.Gif)$"></asp:RegularExpressionValidator>
          當焦點移出fileupload控件時,RegularExpressionValidator控件會起效,但瀏覽按鈕是fileupload控件的一部分,點擊時并沒有觸發RegularExpressionValidator控件。
          不知是否有其他控件能夠監測呢?

          <HTML>
          <HEAD>
          </HEAD>
          <SCRIPT LANGUAGE="JAVASCRIPT" type="text/javascript">
          function HandleFileButtonClick()
          { document.frmUpload.myFile.click();
          document.frmUpload.txtFakeText.value = document.frmUpload.myFile.value;
          }
          </SCRIPT>
          <body>
          <form name="frmUpload">
          <input type="file" name="myFile" style="DISPLAY:none">
          <input type="text" name="txtFakeText" readonly>
          <input type="button" onclick="HandleFileButtonClick();" value="Browse" style="BACKGROUND:white">
          </form>
          </body>

          </HTML>
          這個就是將控件隱藏,再顯示一個text和button作畫面代替它,后面還是要調用控件提供的方法。這里text是只讀的,因為沒法給控件賦值。這樣做的話,自然就不會發生前面的問題了。

          posted on 2006-10-05 18:55 李威 閱讀(1307) 評論(1)  編輯  收藏

          評論

          # re: 接著談FileUpload的問題 2007-08-07 09:12 yagami

          HI 多謝你的文章 不過我實驗了下有個問題
          就是如果你再加一個BUTTON2 不用添加事件 當點擊第2個browse(就是自定義的那個fake的) 選好文件確定后 兩個textbox里都會有這個文件的路徑和名字 但只要一點多添加的那個BUTTON2 第一個textbox(也就是fileupload控件帶的那個)里就被清空了 百思不得其解 望您能幫我分析下 謝謝  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 永康市| 视频| 威远县| 翼城县| 珠海市| 调兵山市| 密山市| 什邡市| 资兴市| 庆云县| 五大连池市| 宝鸡市| 章丘市| 怀宁县| 深州市| 陇川县| 兖州市| 涿鹿县| 迭部县| 安阳市| 普安县| 景东| 姚安县| 都兰县| 营口市| 射阳县| 古蔺县| 蒙自县| 巩留县| 武邑县| 仙游县| 友谊县| 保德县| 景东| 锦屏县| 五华县| 新昌县| 唐海县| 巧家县| 宿州市| 靖远县|