أنا معرف جدول الشركات و فيه حقل لشعار الشركة nvarchar(50) لتخزين أسم الصورة فقط
عملتedit templates وغييرت حقل الشعار وحولته من حقل textbox إلى fileupload عند عمل edit لل gridview
أريد عند عمل update ان يأخذ أسم الصورة من ال fileupload و وضعه في ال database
أنا كنت عامل fileuipload لخاله خارج ال gridview ومعه button عند الضغط على الbutton عرفت connection وكل شي ومشي الخال
بس عن وضع ال filrupload داخل ال gridview ما عم يمشي
الكود :
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default3.aspx.vb" Inherits="Default3" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
DeleteCommand="CompanyDelete" DeleteCommandType="StoredProcedure" SelectCommand="SELECT Company.* FROM Company"
UpdateCommand="CompanyEdit" UpdateCommandType="StoredProcedure">
<DeleteParameters>
<asp:Parameter Name="Com_ID" Type="Int16" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="Com_ID" Type="Int16" />
<asp:Parameter Name="Company_Name" Type="String" />
<asp:Parameter Name="Logo" Type="String" />
<asp:Parameter Name="Slogan" Type="String" />
<asp:Parameter Name="Headquarters_Locatin" Type="String" />
<asp:Parameter Name="More" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
<table style="left: 184px; position: relative; top: -382px">
<tr>
<td style="width: 100px">
<asp:Label ID="lbstatus" runat="server" Text="Label"></asp:Label></td>
</tr>
</table>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Com_ID"
DataSourceID="SqlDataSource1" style="left: 248px; top: 328px">
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True"
ShowSelectButton="True" SelectText="Add" />
<asp:TemplateField HeaderText="Company_Name" SortExpression="Company_Name">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Company_Name") %>'></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox2"
Display="Dynamic" ErrorMessage="Company Name can Nor be nuall"></asp:RequiredFieldValidator>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Company_Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Logo">
<EditItemTemplate>
<asp:FileUpload ID="FileUpload1" runat="server" />
</EditItemTemplate>
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Logo", "~\Images\Company Logo\{0}") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Slogan" SortExpression="Slogan">
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Slogan") %>'></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox3"
Display="Dynamic" ErrorMessage="Slogan can Nor be nuall"></asp:RequiredFieldValidator>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Slogan") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Headquarters_Locatin"
SortExpression="Headquarters_Locatin">
<EditItemTemplate>
<asp:TextBox ID="TextBox4" runat="server"
Text='<%# Bind("Headquarters_Locatin") %>'></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="TextBox4"
Display="Dynamic" ErrorMessage="Head quarter can Nor be nuall"></asp:RequiredFieldValidator>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server"
Text='<%# Bind("Headquarters_Locatin") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="More" SortExpression="More">
<EditItemTemplate>
<asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("More") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Bind("More") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
</form>
</body>
</html>
Partial Class Default3
Inherits System.Web.UI.Page
Dim Fileupload1 As FileUpload
Protected Sub GridView1_RowUpdated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdatedEventArgs) Handles GridView1.RowUpdated
Dim strFileName As String
If Not (Fileupload1.PostedFile Is Nothing) Then 'Check to make sure we actually have a file to upload
Dim fileName As String = Me.Fileupload1.FileName
Dim savepath As String
Dim strLongFilePath As String = Fileupload1.PostedFile.FileName
Dim intFileNameLength As Integer = InStr(1, StrReverse(strLongFilePath), "")
strFileName = Mid(strLongFilePath, (Len(strLongFilePath) - intFileNameLength) + 2)
Select Case Fileupload1.PostedFile.ContentType
Case "image/pjpeg", "image/jpeg", "image/bmp", "image/dib", "image/jpg", "image/jpe", "image/jfif", "image/tif", "image/tiff", "image/png", "image/gif" 'Make sure we are getting a valid JPG image
savepath = Server.MapPath("Images\" & fileName) 'Make sure file is not existed
If Dir(savepath) <> "" Then
If MsgBox("file already exist please change the name of image") Then
MsgBox("Operation has been cancelled")
Exit Sub
End If
End If
Fileupload1.PostedFile.SaveAs(Server.MapPath("Images\" & fileName))
lbstatus.Text = "The Image " & fileName & " was uploaded successfully to server "
Case Else
'Not a valid jpeg image
lbstatus.Text = "The file you specified is Not a valid image"
End Select
Else
lbstatus.Text = "you did Not Specify anyimage "
End If
e.ExceptionHandled = "true"
If e.Exception Is Nothing Then
Me.Label1.Visible = True
Me.Label2.Visible = True
Label1.Text = "Update Complete Successfully"
If e.AffectedRows = 0 Then
Label2.Text = "No rows affected"
Else
Label2.Text = e.AffectedRows.ToString() + "Affected rows"
End If
Else
Me.Label1.Visible = True
Me.Label2.Visible = True
Label1.Text = "No row affected"
Label2.Text = e.Exception.Message
End If
End Sub
End Class