代码如下<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="上传" />fileupload1是上传空间,选中文件以后,点击上传,进入以下函数protected void Button2_Click(object sender, EventArgs e)
{
        string str = FileUpload1.PostedFile.FileName;
        Response.Write("<script>alert('" + str + "')</script>");
}问题出现,我要的是客户机器的路径,比如我上传文件的位置是C:\文件\1.mp3, 我想要的值是str=C:\文件\1.mp3,可是现在出来的是C:文件1.mp3,“\”没了。
所以我想用js来实现,首先用js取的路径的值,在赋textbox值,在用后台代码实现,代码实现如下,<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <script type="text/javascript">
        function aa(){
            //alert("aa");
            var path = document.getElementById("FileUpload1").value;
            document.getElementById("TextBox1").value=path;
        }    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:FileUpload ID="FileUpload1" runat="server" />
        <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="上传" />
        <input type="button" id="but1" onclick="aa()" value="确定"/><br />
        <input type="text" id="path1" />&nbsp;<br />
        <br />
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Text值" />
    
    </div>
    </form>
</body>
</html>fileupload1控件与button2不在解释,和上面代码一样,but1按钮为调用js把fileupload1值赋给textbox1控件上,but1按钮是客户端控件,之后点击button1按钮调用Button1_Click函数,取textbox1值,方法如下protected void Button1_Click(object sender, EventArgs e)
{
        Response.Write("<script>alert('" + TextBox1.Text + "')</script>");
}可是出现的结果和刚才的是一样的没有"\",在js赋值以后textbox1里面的值是没问题的。

解决方案 »

  1.   


    protected void Button2_Click(object sender, EventArgs e)
    {
            string str = FileUpload1.PostedFile.FileName;
            Response.Write("<script>alert('" + str + "')</script>");
    }
    你写的这个方法没有问题的
      

  2.   

    你设置断点看str里面值是否有"\"没?
    可能是alert方法读取出来没有。
      

  3.   

    string str = FileUpload1.PostedFile.FileName;
    改成:string str = FileUpload1.FileName;
    这样试下
      

  4.   

    谢谢问题解决啦。 值确实是过来了。我一直用alert,弹出数据看,alert弹出的数据就没有"\"
      

  5.   

    但是还有个问题, 我直接在js里面写alert(path)就有"\",可是赋值给textbox用后台打出的alert为什么没有"\"?
      

  6.   

    谢谢你。回答,可是你的方法,不好使。filename取的是文件名字,取不到整个路径
      

  7.   


    alert是javascrpt的方法
    你想在后台就用后台弹出的方法就不会了
      

  8.   

    alert是javascrpt的方法
    你想在后台就用response的方法