Как сохранить существующее имя файла в базе данных при обновлении страницы? - PullRequest
0 голосов
/ 08 октября 2011

У меня есть страница с именем Update.aspx, и в ней я обновляю все значения вместо имени файла.Когда я собираюсь обновить информацию, все значения выбираются из базы данных в соответствующие текстовые поля.Но если у меня есть имя файла, такое как 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Upload&nbsp;: </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>

1 Ответ

0 голосов
/ 08 октября 2011

Вы можете использовать HiddenField или ViewState для сохранения имени файла из поля Client_logo (из базы данных).

Например.Присвойте значение HiddenField1 при получении результата,

HiddenField1.Value=dr["Client_Logo"].ToString().Trim();

и при обновлении,

if (FileUp.HasFile)
 {
  ...
 }
else
 {
 onlyname = HiddenField1.Value;
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...