HI,
fileupload控件是在网格内部,当没有使用Ajax时它的工作正常,因此我使用Update面板,在将文件上传到thr数据库时出错,plz帮我解决这个问题。
请指教 Dhanraj.S
答案 0 :(得分:4)
您可以在“提交”按钮上设置“回传”触发器。之后,您可以在服务器端获取图像。
代表
<Triggers>
<ajax:PostBackTrigger ControlID="btnSubmit" />
</Triggers>
答案 1 :(得分:3)
这是因为UpdatePanel
未将文件保留在asp:FileUpload
解决方法是在更新PostBackTrigger
UpdatePanel
假设有一个更新UpdatePanel的Button(比如说UploadFileButton)。像这样改变你的面板
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:FileUpload ID="TestFileUpload" runat="server" />
<br />
<asp:Button ID="UploadFileButton" runat="server" Text="Upload File"/>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="UploadFileButton" />
</Triggers>
</asp:UpdatePanel>
答案 2 :(得分:2)
您是否尝试过使用AjaxControlToolkit 3.5中的new AsyncFileUpload Control? Here是一步一步的指南。
答案 3 :(得分:0)
可能不是你想要的,但为什么不使用jQuery上传文件?您可以使用jQuery Form Plugin来执行此操作。 这是脚本:
<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="Scripts/jquery.form.js"></script>
<script type="text/javascript">
$("#myForm").ajaxForm({
success: function (response) {
$('#updateDiv').append(response);
}
});
</script>
这是HTML:
<form id="myForm" action="http://localhost/Default.aspx" method="post"
enctype="multipart/form-data">
<div id="updateDiv" runat="server">
</div>
<div>
<input type="file" id="filePhoto" name="filePhoto" value="" />
<input type="submit" value="Upload Photo" />
</div>
</form>
当然,您必须在代码隐藏中处理表单提交并发回适当的响应。