1

こんにちは、非表示の FileUpload コントロール、URL アドレスを書きたい textBox または! ファイルへのファイルパス、および FileUpload を呼び出すためのボタン。私の問題は、ユーザーが fileupload をチェックインしていくつかのファイルを制御し、ポップアップ ウィンドウを閉じた直後に、そのファイルのファイルパスを TextBox に入力する必要があることです。ファイルパスを表示する方法は知っていますが、自動的に行う必要があり、そのトラップが必要です。これが私がこれまでに得たものです

<div class="ViewContent">
  <asp:FileUpload ID="FileUpload2" runat="server" Width="317px" style="display: none"/>
  <input id="btnFileUpload" type="button" value="Add" runat="server" style="width: 70px" />
    <asp:TextBox ID="TextBox2" runat="server" Width="310px"/>
</div>

 

protected void Page_Load(object sender, EventArgs e)
{
  btnFileUpload.Attributes.Add(
    "onclick",
    "document.getElementById('" + FileUpload2.ClientID + "').click();");  
}

答えは簡単です: TextBox を埋めるためのチェックコードをどこに置くべきですか? このようなもの

if (FileUpload2.PostedFile != null)
{
  TextBox2.Text = System.IO.Path.GetFullPath(FileUpload2.PostedFile.FileName);
}
4

2 に答える 2

1

このスクリプトは仕事をします:

<script type="text/javascript">
        $(document).ready(function () {

            $(document).on('change', '#<%= FileUpload2.ClientID%>', function (e) {
            $('#<%= TextBox2.ClientID%>').val(e.target.files[0].name);
        });

            $('#<%=btnFileUpload.ClientID%>').click(function () {
                $('#<%= FileUpload2.ClientID%>').trigger('click');                
            });

    });
</script>

以下のように jquery への参照を追加し、コード フォーム Page_Load() を削除します。

<head runat="server">
    <script src="Scripts/jquery-1.8.2.js"></script>

あるいは:

<head runat="server">
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

そしてあなたの Page_Load():

protected void Page_Load(object sender, EventArgs e)
{
  //btnFileUpload.Attributes.Add(
    //"onclick",
    //"document.getElementById('" + FileUpload2.ClientID + "').click();");  
}
于 2013-08-17T15:54:40.293 に答える