日期:2014-05-17  浏览次数:20527 次

ASP.NET中DetailsView的问题~!折腾几天了实在搞不定了~!
我用一个DetailsView显示数据库数据 并启用了控件自带的 编辑功能,
把所有数据库字段全部转换成模板 然后我在 EditItemTemplate中添加了一个
FileUpLoad控件来实现上传图片功能。
我想实现的是怎么才能把FileUpLoad上传图片时获得的图片名赋值给编辑状态下的TextBox文本框
当点击编辑时更换原有的图片地址。
我的数据库字段是 Id UserName UserImage Telephone
现在编辑功能能够实现但是就是图片地址保存不到数据库中一直都是空值
我的代码如下请各位大大们帮帮我,万分感谢~!
Default.aspx前台

<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" 
  DataKeyNames="Id" DataSourceID="SqlDataSource1" Height="50px" 
  onitemupdating="DetailsView1_ItemUpdating" Width="388px">
  <Fields>
  <asp:TemplateField HeaderText="Id" InsertVisible="False" SortExpression="Id">
  <EditItemTemplate>
  <asp:Label ID="Label1" runat="server" Text='<%# Eval("Id") %>'></asp:Label>
  </EditItemTemplate>
  <ItemTemplate>
  <asp:Label ID="Label2" runat="server" Text='<%# Bind("Id") %>'></asp:Label>
  </ItemTemplate>
  </asp:TemplateField>
  <asp:TemplateField HeaderText="UserName" SortExpression="UserName">
  <EditItemTemplate>
  <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("UserName") %>'></asp:TextBox>
  </EditItemTemplate>
  <InsertItemTemplate>
  <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("UserName") %>'></asp:TextBox>
  </InsertItemTemplate>
  <ItemTemplate>
  <asp:Label ID="Label3" runat="server" Text='<%# Bind("UserName") %>'></asp:Label>
  </ItemTemplate>
  </asp:TemplateField>
  <asp:TemplateField HeaderText="UserImage" SortExpression="UserImage">
  <EditItemTemplate>
  <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("UserImage") %>'></asp:TextBox>
  <asp:FileUpload ID="Upload1" runat="server" />
  </EditItemTemplate>
  <InsertItemTemplate>
  <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("UserImage") %>'></asp:TextBox>
  </InsertItemTemplate>
  <ItemTemplate>
  <asp:Label ID="Label1" runat="server" Text='<%# Bind("UserImage") %>'></asp:Label>
  </ItemTemplate>
  </asp:TemplateField>
  <asp:TemplateField HeaderText="Telephone" SortExpression="Telephone">
  <EditItemTemplate>
  <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Telephone") %>'></asp:TextBox>