C# 对话框内的文件上载控件在asp.net c中没有文件
我正在尝试使用asp.net中的文件上载控件上载文件 控件位于对话框中。在按钮单击事件上,控件为空 下面是我的代码。编辑在这里,请检查它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">
<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>