C# 更新页面时,如何在数据库中保留现有文件名?
我有一个名为Update.aspx的页面,我在其中更新所有值,而不是文件名。当我要更新信息时,所有的值都会从数据库中提取到相应的文本框中。但是如果我在数据库中有一个文件名,比如C# 更新页面时,如何在数据库中保留现有文件名?,c#,asp.net,sql,C#,Asp.net,Sql,我有一个名为Update.aspx的页面,我在其中更新所有值,而不是文件名。当我要更新信息时,所有的值都会从数据库中提取到相应的文本框中。但是如果我在数据库中有一个文件名,比如abc.jpg,并且我在更新页面上没有浏览文件和更新,那么它将作为null插入 即使用户未更新同一文件(即abc.jpg),如何在数据库中保留该文件 这是我的代码: string onlyname = string.Empty; string filename = ""; string p
abc.jpg
,并且我在更新页面上没有浏览文件和更新,那么它将作为null
插入
即使用户未更新同一文件(即abc.jpg),如何在数据库中保留该文件
这是我的代码:
string onlyname = string.Empty;
string filename = "";
string path = "";
if (FileUp.HasFile)
{
filename = FileUp.PostedFile.FileName;
path = Server.MapPath("/clients_images/") + FileUp.FileName;
onlyname = path.Substring(path.LastIndexOf("\\") + 1);
FileUp.SaveAs(path);
}
else
{
onlyname = dr["Client_Logo"].ToString().Trim();
}
param[4] = new SqlParameter("@Client_Logo", SqlDbType.VarChar, 200);
param[4].Value = onlyname.ToString().Trim();
cmd.Parameters.Add(param[4]);
ASPX代码:
<table align="center" cellpadding="3" cellspacing="0" border="0" width="638" class="tableborder">
<tr>
<td colspan="2" class="mainbg" align="center" height="13">
<font class="general">Update Client Detail</font></td>
</tr>
<tr>
<td class="general" width="50%" align="right">
<b>Client Name :</b></td>
<td align="left">
<asp:TextBox ID="txtUpdateclientname" Text="" Columns = "30" CssClass="checkbox02" runat="server" onchange="Javascript: return initialCap(this);"></asp:TextBox>
<font class="mandatory">*</font>
</td>
</tr>
<tr>
<td class="general" width="50%" align="right">
<b>Company Name :</b></td>
<td align="left">
<asp:TextBox ID="updatecompanyname" Text="" Columns = "30" CssClass="checkbox02" runat="server" onchange="Javascript: return initialCap(this);"></asp:TextBox>
<font class="mandatory">*</font>
</td>
</tr>
<tr>
<td class="general" width="50%" align="right">
<b>Email :</b></td>
<td align="left">
<asp:TextBox ID="updateemail" Text="" Columns = "30" CssClass="checkbox02" runat="server"></asp:TextBox>
<font class="mandatory">*</font>
</td>
</tr>
<tr>
<td class="general" width="50%" valign="top" align="right">
<b>Logo :</b></td>
<td class="general" width="50%" align="left">
<asp:FileUpload ID="FileUp" runat="server" CssClass="checkbox02" />
<br /> (Height of image should not be more than 67 And Width of image should not be more than 380)
</td>
</tr>
<tr>
<td class="general" width="50%" align="right">
<%--<b><font class="bluetext"><strong> Upload : </strong>--%></td>
<td align="left">
<asp:LinkButton ID="viewImage" Text="View Existing" runat="server" cssClass="general-white" class="link" OnCommand="LinkButton_Command" CommandName="downloadfile" ToolTip="Click to View Existing" Font-Bold="true"></asp:LinkButton>
</td>
</tr>
<tr>
<td class="general" width="50%" align="right" valign="top">
<b>Project Type :</b></td>
<td width="100%" align="left" valign="top" colspan="2">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td align="right" valign="top" colspan="3">
<asp:ListBox ID="LstUserLeft" Width="100%" Autoscroll="false" SelectionMode="Multiple" Height="150" CssClass="checkbox02"
runat="server">
</asp:ListBox>
</td>
</tr>
</table>
</td>
</tr>
<tr>
</tr>
</table>
更新客户端详细信息
客户名称:
*
公司名称:
*
电邮:
*
标志:
(图像高度不应超过67,图像宽度不应超过380)
项目类型:
您可以使用HiddenField
或ViewState
存储客户机徽标字段(数据库)中的文件名
比如说。
检索结果时,将值分配给HiddenField1
HiddenField1.Value=dr["Client_Logo"].ToString().Trim();
在更新的同时,
if (FileUp.HasFile)
{
...
}
else
{
onlyname = HiddenField1.Value;
}