• FileUpload无法赋值解决方案


    由于考虑到安全原因,不允许给FileUpload赋值,但是我们平时经常遇到页面刷新后,FileUpload之前选择的为空了,用户需要重新选择文件,很麻烦,这里提供一种比较简单的解决办法。

    思路:做一个伪FileUpload控件,页面上放一个FileUpload,设置不可见,用另外的button触发FileUpload的“浏览...”事件,在FileUpload的change事件中把选择的文件路径赋值给TextBox,这里的TextBox和button组合就变成了这个伪FileUpload,这里的TextBox可以随便赋值,页面刷新也不会清空

    UCFilejpload.ascx代码:

    <%@ Control Language="vb" AutoEventWireup="false" CodeBehind="UCFilejpload.ascx.vb" Inherits="WebApplicationVB.UCFilejpload" %>
    <script src="jquery-1.9.1.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                $('#selectFile').bind('click', function () {
                    var ie = !-[1, ];
                    if (ie) {
                        $('#fileupload').trigger('click').trigger('change');
                    } else {
                        $('#fileupload').trigger('click');
                    }
                });
    
                $('#fileupload').change(function () {
                    $("#<%=txtFileUrl.ClientID%>").val($(this).val());
                });
            });
            function selectDo() {
                $("#fileupload").trigger('click');
            }
        </script>
    <asp:TextBox ID="txtFileUrl" runat="server" Width="200px"></asp:TextBox>
    <input type="file" name="fileupload" id="fileupload" style=" 0px; FILTER: alpha(opacity=0); moz-opacity: 0; opacity: 0; display: none;" />
    <input type="button" onclick="selectDo()" value="浏览..." />
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="txtFileUrl" runat="server" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>

    UCFilejpload.ascx.vb代码:

    Public Class UCFilejpload
        Inherits System.Web.UI.UserControl
        Public Property StrUrl As String
            Get
                Return txtFileUrl.Text
            End Get
            Set(value As String)
                txtFileUrl.Text = value
            End Set
        End Property
    End Class

    效果如下:

  • 相关阅读:
    Python日期和时间
    Python实现ATM
    XML的ElementTree解析方式
    Python多线程
    Python文件操作
    Python错误和异常
    Python基础第四课
    html页面引入另一个html页面
    微信直播video安卓端始终在最顶层的解决方法
    设计模式之 外观模式
  • 原文地址:https://www.cnblogs.com/shenyixin/p/3431883.html
Copyright © 2020-2023  润新知