我在我的asp.net页面中有一个FileUpload控件,它应该将图片上传到主机上的某个文件夹中。我提出了一个条件,当它有文件时,它开始上传。 这个代码。为什么我的文件上传控件无法正常工作
if (File2.HasFile)
{
string b = File2.FileName.ToString();
File2.PostedFile.SaveAs(path + File2.FileName);
}
但条件永远是真实的。我有两个其他的FileUpload在页面上。他们。但是这个人是不是正常,并且条件始终是假工作正常。 我该怎么办?
这是HTML代码:
<asp:UpdatePanel ID="UpdatePanel3" runat="server">
<ContentTemplate>
<table cellpadding="0" cellspacing="0" class="style4" dir="rtl"
style="border: thin solid #008080">
<tr>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
<div style=" border-width: thin; border-color: #008080; border-left-style: solid;">
<asp:GridView ID="GridView2" runat="server" AllowPaging="True"
AutoGenerateColumns="False" CellPadding="4" DataSourceID="SqlDataSource4"
ForeColor="#333333" GridLines="None" onrowcommand="GridView2_RowCommand"
PageSize="6" Width="130px" Height="200px" ShowHeader="False">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server"
CommandArgument='<%#Eval("PID") %>' CommandName="LnkEdit"
Text='<%#Eval("Pname") %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle BackColor="#7C6F57" />
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#E3EAEB" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F8FAFA" />
<SortedAscendingHeaderStyle BackColor="#246B61" />
<SortedDescendingCellStyle BackColor="#D4DFE1" />
<SortedDescendingHeaderStyle BackColor="#15524A" />
</asp:GridView>
</div>
<asp:Label ID="Label18" runat="server"></asp:Label>
</td>
<td>
<div style="float :right">
<table cellpadding="0" cellspacing="0" style="width: 500px">
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="نام"></asp:Label>
</td>
<td align="right">
<asp:TextBox ID="TxTEditname" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label15" runat="server" Text="زبان"></asp:Label>
</td>
<td align="right">
<asp:DropDownList ID="DropDownList4" runat="server">
<asp:ListItem Value="en">English</asp:ListItem>
<asp:ListItem Value="fa">فارسی</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label2" runat="server" Text="توضیحات"></asp:Label>
</td>
<td align="right">
<asp:TextBox ID="TxTEditdes" runat="server" Height="102px"
TextMode="MultiLine" Width="380px"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label19" runat="server" Text="عکس جدید"></asp:Label>
</td>
<td align="right">
<asp:FileUpload ID="File2" runat="server" />
</td>
</tr>
<tr>
<td>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click"
Text="ثبت تغییرات" />
</td>
<td>
<asp:Label ID="Label17" runat="server"></asp:Label>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
我们可能会需要看到更多代码知道肯定。你能用最少的HTML和最少的服务器端代码重现这一点,并共享更完整的代码库吗?我的第一个猜测是,出于某种原因,文件上传不是表单的一部分。或者,如果您使用的是Web窗体,也许您正在重置'Page_Load'中的控件。 – David 2012-07-10 09:13:09
我们可以看到更多的代码吗? – JohnnBlade 2012-07-10 09:13:13
_Minimal_ HTML和_minimal_服务器端代码... =) – 2012-07-10 09:19:13