C# 对话框内的文件上载控件在asp.net c中没有文件

C# 对话框内的文件上载控件在asp.net c中没有文件,c#,asp.net,C#,Asp.net,我正在尝试使用asp.net中的文件上载控件上载文件 控件位于对话框中。在按钮单击事件上,控件为空 下面是我的代码。编辑在这里,请检查它 <div class="modal fade" id="myModal_family" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">

我正在尝试使用asp.net中的文件上载控件上载文件

控件位于对话框中。在按钮单击事件上,控件为空

下面是我的代码。编辑在这里,请检查它

<div class="modal fade" id="myModal_family" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
                            aria-hidden="true">
                            <div class="modal-dialog">
                                <div class="modal-content">

                                    <div class="modal-body row">

                                        <div class="col-md-12">

                                            <div id="add1">
                                                <div class="fileupload fileupload-new" data-provides="fileupload">
                                                    <p>
                                                        Title

                                                        <asp:TextBox ID="txtTitle" runat="server" CssClass="form-control"></asp:TextBox></p>
                                                    <span class="btn btn-white btn-file"><span class="fileupload-new"><i class="fa fa-paper-clip">
                                                    </i>Select file</span>

                                                        <asp:FileUpload ID="upldfile" runat="server" onchange="UploadFile(this)" ClientIDMode="Static" />
                                                    </span>

                                                        <p> <br />
                                                        <asp:Button ID="btnSave" runat="server" UseSubmitBehavior="false"  data-dismiss="modal" OnClick="Upload" Style="display: none" class="btn btn-danger" /></p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>     

你的代码是正确的,我刚刚扣动了扳机,它开始工作了

<asp:UpdatePanel ID="updatePanel1" UpdateMode="Conditional" runat="server">
                <ContentTemplate>
                    <div id="add1">
                        <div class="fileupload fileupload-new" data-provides="fileupload">
                            <p>
                                Title

       <asp:TextBox ID="txtTitle" runat="server" CssClass="form-control"></asp:TextBox>
                            </p>
                            <span class="btn btn-white btn-file"><span class="fileupload-new"><i class="fa fa-paper-clip"></i>Select file</span>

                                <asp:FileUpload ID="upldfile" runat="server" onchange="UploadFile(this)" />
                            </span>
                            <p>
                                <br />
                                <asp:Button ID="btnSave" runat="server" UseSubmitBehavior="false" data-dismiss="modal" OnClick="Upload" Style="display: none" class="btn btn-danger" />
                            </p>
                        </div>
                    </div>
                </ContentTemplate>
              <%--  <Triggers>
                    <asp:PostBackTrigger ControlID="btnSave" />
                </Triggers>--%>
            </asp:UpdatePanel>
其余的东西和你们贴的一样


请尝试。

整个部件都在更新面板内。。。这就是我不工作的原因吗?你写了肯定的句子和完全有效的代码。你的问题是什么?当我用javascript打印fileupload值时,它总是显示错误的路径。例如:如果我从D:/somefolder/filename中选择一个文件,但显示为C:/fakepath/filename,则必须添加u doPostBack;FileUpload控件需要完全回发。所以它不能与UpdatePanel一起工作。将上载放在面板外,或将完整回发分配给btnSave。我已经像您一样添加了,但问题尚未解决。因为问题是文件上传在对话框弹出窗口内。已找到原因但不知道如何修复是否可以请从按钮中删除UseSubmitBehavior并检查如果我删除UseSubmitBehavior,则不会触发按钮单击。document.getElementById.click;这个坏了,有人能帮我吗。我在处理jquery对话框方面没有太多的知识。您可以检查一下,当您的按钮单击事件触发时,该对话框是否存在于DOM中。
 public void Upload(object sender, EventArgs e)
{
    Response.Write("sfzsfg");

        if (upldfile.HasFile) // upldfile is null here 
        {

        }
}
<asp:UpdatePanel ID="updatePanel1" UpdateMode="Conditional" runat="server">
                <ContentTemplate>
                    <div id="add1">
                        <div class="fileupload fileupload-new" data-provides="fileupload">
                            <p>
                                Title

       <asp:TextBox ID="txtTitle" runat="server" CssClass="form-control"></asp:TextBox>
                            </p>
                            <span class="btn btn-white btn-file"><span class="fileupload-new"><i class="fa fa-paper-clip"></i>Select file</span>

                                <asp:FileUpload ID="upldfile" runat="server" onchange="UploadFile(this)" />
                            </span>
                            <p>
                                <br />
                                <asp:Button ID="btnSave" runat="server" UseSubmitBehavior="false" data-dismiss="modal" OnClick="Upload" Style="display: none" class="btn btn-danger" />
                            </p>
                        </div>
                    </div>
                </ContentTemplate>
              <%--  <Triggers>
                    <asp:PostBackTrigger ControlID="btnSave" />
                </Triggers>--%>
            </asp:UpdatePanel>