方案一: 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="SchoolWeb.test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
    <script language="javascript" type="text/javascript">
            function fileUP()
            { 
                var file = document.getElementById("<%=fileuploadImage.ClientID %>");
                file.style.display="none";
                file.click(); 
                return;
            } 
            function fileSet()
            {
                var file = document.getElementById("<%=fileuploadImage.ClientID %>");
                if(file.value !="")
                {
                    document.getElementById("<%=txtFile.ClientID %>").value = file.value;
                }
                return;
            }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="txtFile" runat="server"></asp:TextBox>
        <input id="btnFile" type="button" value="上传" onclick="javascript:return fileUP();" />
        <asp:FileUpload ID="fileuploadImage" runat="server" Style="display:none" />
    </div>
    <p>
        <asp:Button ID="Button1" runat="server" Text="保存" OnClick="Button1_Click" />
    </p>
    </form>
</body>
</html>
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace SchoolWeb
{
    public partial class test : System.Web.UI.Page
    {
        protected string FileName = string.Empty;
        protected void Page_Load(object sender, EventArgs e)
        {
                FileName = txtFile.Text;
                this.fileuploadImage.Attributes.Add("onchange", "javascript:return fileSet();");
                txtFile.Attributes.Add("readonly", "readonly");
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            this.txtFile.Text = FileName;
            Response.Write(FileName);
        }
    }
}

-------------------

方案二:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="testc.aspx.cs" Inherits="SchoolWeb.testc" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <script type="text/javascript" language="javascript">
        function UploadOnpropertychange()  
        {  
            //JS获取上传控件的值,即所上传文件的绝对路径  
            var varUploadFile = document.getElementByIdx("FileUpload1").value;  
            //将路径值通过split函数切割分成一个数组集合  
            //使用这个函数,这个地方主要是为了获取文件名  
            var varArray = varUploadFile.split('\\');  
             
            //测试  
//            for (var i = 0;i < varArray.length;i++)  
//            {  
//                if (i == varArray.length - 1)  
//                {  
//                    alert(varArray[i]);  
//                }  
//            }  
            //最后将所需要的文件名赋给文本框  
            document.getElementByIdx("txtUploadFile").value = varArray[varArray.length - 1];  
        }  
    </script>
</head>
<body>
    <form id="form1" runat="server">
  <asp:TextBox ID="txtUploadFile" runat="server"></asp:TextBox>
            <input type="button" value="测试" onclick="javascript:document.getElementById('FileUpload1').click();" />
            <asp:FileUpload ID="FileUpload1" runat="server"  />
    </form>
</body>
</html>

using System;

using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace SchoolWeb
{
    public partial class testc : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //先将控件隐藏
                this.FileUpload1.Attributes.Add("style", "display:none");
                //监视属性变化,此时主要用于捕捉文件路径的写入值
                this.FileUpload1.Attributes.Add("onpropertychange", "UploadOnpropertychange()");
            }
        }
    }
}

textbox button 模拟fileupload的更多相关文章

  1. 如何实现修改FileUpload样式

    这里先隐藏FileUpload 然后用一个input button和一个text来模拟FileUpload 具体代码为 <asp:FileUpload ID="FileUpload1& ...

  2. [uwp]MVVM之MVVMLight,一个登录注销过程的简单模拟

    之前学MVVM,从ViewModelBase,RelayCommand都是自己瞎写,许多地方处理的不好,接触到MVVMLigth后,就感觉省事多了. 那么久我现在学习MVVMLight的收获,简单完成 ...

  3. c# button Command

    internal class DelegateCommand : ICommand { private readonly Action _execute; private readonly Func& ...

  4. [知识库分享系列] 二、.NET(ASP.NET)

    最近时间又有了新的想法,当我用新的眼光在整理一些很老的知识库时,发现很多东西都已经过时,或者是很基础很零碎的知识点.如果分享出去大家不看倒好,更担心的是会误人子弟,但为了保证此系列的完整,还是选择分享 ...

  5. UWP开发入门(十七)——判断设备类型及响应VirtualKey

    蜀黍我做的工作跟IM软件有关,UWP同时会跑在电脑和手机上.电脑和手机的使用习惯不尽一致,通常我倾向于根据窗口尺寸来进行布局的变化,但是特定的操作习惯是依赖于设备类型,而不是屏幕尺寸的,比如聊天窗口的 ...

  6. FineUI上传控件

    文件上传 现在就简单多了,并且也漂亮多了,参考这个示例. 1: <ext:SimpleForm ID="SimpleForm1" BodyPadding="5px& ...

  7. JavaScript实现form表单的多文件上传

    form表单的多文件上传,具体内容如下 formData对象可以使用一系列的键值对来模拟一个完整的表单,然后使用Ajax来发送这个表单 使用<form>表单初始化FormData对象的方式 ...

  8. UWP控件与DataBind

    在uwp开发中必不可少的一个环节就是各种通用的控件的开发,所以在闲暇时间汇总了一下在uwp开发中控件的几种常用写法,以及属性的几种绑定方式,有可能不全面,请大家多多包涵 :) 1.先从win10新增的 ...

  9. WPF入门:数据绑定

    上一篇我们将XAML大概做了个了解 ,这篇将继续学习WPF数据绑定的相关内容 数据源与控件的Binding Binding作为数据传送UI的通道,通过INotityPropertyChanged接口的 ...

随机推荐

  1. Node.js怎么处理数据库中日期类型

    问题描述:在数据库里存储时间的时候明明显示的是类如2016-12-22的形式,读取出来后却变成了大概是这样的:Fri May 17 2016 14:12:33 GMT+0800 (中国标准时间) 处理 ...

  2. for循环嵌套的优化

    public static void main(String[] args) {     int x = 0;     for (int i = 0; i < 2; i++) {         ...

  3. CentOS 7 Rescure

    之前从来没想过会在Linux系统中使用这个东西-- 今天系统无法启动了!!! 一.开机进度条卡住了.查看一下字符卡在哪里了? Starting MySQL Community Server... 就是 ...

  4. ChartControl 折线图 柱状图

    添加折线图(柱状图) 拖动ChartControl到Form上 在Series Collection中添加Line(或Bar) DevExpress.XtraCharts.Series series1 ...

  5. Bootstrap使用初涉

    在这里记录一下搭建Bootstrap的开发环境: 首先手头上的有Bootstrap的相关资料,这里用的是bootstrap-3.3.5-dist. 在开发一个Web项目的时候要将述的资料都导入到项目中 ...

  6. PHP Mysqli 数据库连接

    ---恢复内容开始--- $connection=new mysqli($db_host,$db_user,$db_password,$db_name);if(!mysqli_connect_errn ...

  7. Google Maps地图投影全解析(3):WKT形式表示

    update20090601:EPSG对该投影的编号设定为EPSG:3857,对应的WKT也发生了变化,下文不再修改,相对来说格式都是那样,可以到http://www.epsg-registry.or ...

  8. js小程序写法优化

    (function(){ var gcld_but = document.getElementById("gcld_but"), gcld_but_li = gcld_but.ge ...

  9. js实现对移动设备的检测

    <script type="text/javascript"> if (browserRedirect()) { location.href = 'http:/phon ...

  10. java内存划分

    运行时数据区域 Java虚拟机在执行Java的过程中会把管理的内存划分为若干个不同的数据区域.这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,而有的区域则依赖线程的启动 ...