Настройте SqlDataSource для хранения части строки - PullRequest
1 голос
/ 03 июля 2011

Я использую UpdatePanel в ASP.Net WebForms для загрузки изображения. Я установил для Image.ImageUrl полный виртуальный путь к изображению (/images/news/filenname.jpg), но я хочу сохранить только имя файла в базе данных (filename.jpg). Как настроить SqlDataSource, чтобы он принимал участие только в URL?

<asp:SqlDataSource 
  ID="SqlDataSourceNews" 
  runat="server" 
  ConnectionString="<%$ ConnectionStrings:connectionString %>" 
  UpdateCommand="UPDATE [foo] SET [pic] = @pic WHERE [id] = @id">
   <UpdateParameters>
      <asp:Parameter Name="pic" Type="String" />
   </UpdateParameters>
   <InsertParameters>
      <asp:Parameter Name="pic" Type="String" />
    </InsertParameters>
 </asp:SqlDataSource>

1 Ответ

1 голос
/ 03 июля 2011

Вы можете установить параметры обновления для page_load и использовать функцию подстроки, чтобы получить только имя файла из полного URL:

protected void Buton_Click(object sender, EventArgs e)
{
        SqlDataSource1.UpdateParameters["pic"].DefaultValue = "string fetched from substring method";
        SqlDataSource1.Update();
}
...