自定义SqlDataSource以存储字符串的一部分

时间:2011-07-03 06:53:55

标签: c# asp.net data-binding webforms

我在ASP.Net WebForms中使用UpdatePanel上传图像。我将Image.ImageUrl设置为图像的完整虚拟路径(/images/news/filenname.jpg),但我只想将文件名保存在数据库中(filename.jpg)。如何自定义SqlDataSource以仅参与网址?

<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 个答案:

答案 0 :(得分:1)

您可以在page_load上设置更新参数,并使用substring函数仅从完整网址获取文件名:

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