2011-01-04 2 views
0

파일 업로드를 사용하여이 페이지에서 내 gridview에 행을 추가하려고합니다. 이 페이지는 기본적으로 데이터베이스에 데이터를 추가 할 수있는 간단한 관리 패널입니다. 파일 업로드는 파일의 경로를 잡고 파일이 아닌 데이터베이스에 경로를 업로드하는 데 사용됩니다. 문제는 내가 프로그램을 실행하여 파일을 선택할 때마다 경로가 아니라 경로가 실제로 나타나는지 잘 예상한다는 것입니다. 이것이 내 코드 전체에 대한 도움에 정말 감사 할 것입니다. 때 그들은 전체 클라이언트 경로 정보를 전송하지 않음 -있는 gridview 및 세부 사항은 모두 같은 sqladapater세부 정보보기에서 파일 업로드 사용 도움말

alt text

<form id="form1" runat="server"> 


     <asp:ScriptManager ID="ScriptManager1" runat="server" /> 
     <br /> 
     <asp:DropDownList ID="DropDownList1" runat="server"> 
      <asp:ListItem>MSD</asp:ListItem> 
      <asp:ListItem>OPS</asp:ListItem> 
     </asp:DropDownList> 
     <asp:Button ID="Button3" runat="server" Text="Department" /> 
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="New" />&nbsp;<asp:Button 
         ID="Button4" runat="server" Text="Cancel" />&nbsp; 
        <br /> 
     <br /> 
     <div> 
      <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 

       <ContentTemplate> 
        <center> <asp:DetailsView ID="DetailsView1" runat="server" AllowPaging="True" AutoGenerateRows="False" 
         DataKeyNames="ID" DataSourceID="SqlDataSource1" Height="128px" Width="544px" Visible="False" CellPadding="4" ForeColor="#333333" GridLines="None" OnModeChanged="Button1_Click" > 
         <Fields> 
          <asp:TemplateField HeaderText="Order" SortExpression="Order"> 
           <EditItemTemplate> 
            <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Order") %>'></asp:TextBox> 
           </EditItemTemplate> 
           <InsertItemTemplate> 
            <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Order") %>'></asp:TextBox> 
           </InsertItemTemplate> 
           <ItemTemplate> 
            <asp:Label ID="Label3" runat="server" Text='<%# Bind("Order") %>'></asp:Label> 
           </ItemTemplate> 
          </asp:TemplateField> 
          <asp:TemplateField HeaderText="Department" SortExpression="Department"> 
           <EditItemTemplate> 
            <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Department") %>'></asp:TextBox> 
           </EditItemTemplate> 
           <InsertItemTemplate> 
            <asp:TextBox ID="textboxdepartment" runat="server" Text='<%# Bind("Department") %>'></asp:TextBox> 
           </InsertItemTemplate> 
           <ItemTemplate> 
            <asp:Label ID="Label4" runat="server" Text='<%# Bind("Department") %>'></asp:Label> 
           </ItemTemplate> 
          </asp:TemplateField> 
          <asp:TemplateField HeaderText="DOC_Type" SortExpression="DOC_Type"> 
           <EditItemTemplate> 
            <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("DOC_Type") %>'></asp:TextBox> 
           </EditItemTemplate> 
           <InsertItemTemplate> 
            <asp:TextBox ID="textboxtype" runat="server" Text='<%# Bind("DOC_Type") %>'></asp:TextBox> 
           </InsertItemTemplate> 
           <ItemTemplate> 
            <asp:Label ID="Label5" runat="server" Text='<%# Bind("DOC_Type") %>'></asp:Label> 
           </ItemTemplate> 
          </asp:TemplateField> 
          <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" /> 
          <asp:TemplateField HeaderText="Revision" SortExpression="Revision"> 
           <EditItemTemplate> 
            <asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("Revision") %>'></asp:TextBox> 
           </EditItemTemplate> 
           <InsertItemTemplate> 
            <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("Revision") %>'></asp:TextBox> 
           </InsertItemTemplate> 
           <ItemTemplate> 
            <asp:Label ID="textboxrevision" runat="server" Text='<%# Bind("Revision") %>'></asp:Label> 
           </ItemTemplate> 
          </asp:TemplateField> 
          <asp:TemplateField HeaderText="DOC"> 
           <EditItemTemplate> 
            <asp:TextBox ID="textboxdate" runat="server" Text='<%# Bind("DOC") %>'></asp:TextBox> 
           </EditItemTemplate> 

            <InsertItemTemplate> 
     <asp:FileUpload ID="FileUploadDOC" runat="server" Width="384px" Enabled='<%# Bind("DOC") %>' /> 
    </InsertItemTemplate> 


           <ItemTemplate> 
            <asp:Label ID="Label1" runat="server" Text='<%# Bind("DOC") %>'></asp:Label> 
           </ItemTemplate> 


          </asp:TemplateField> 
          <asp:TemplateField HeaderText="Active" SortExpression="Active"> 
           <EditItemTemplate> 
            <asp:TextBox ID="TextBox7" runat="server" Text='<%# Bind("Active") %>'></asp:TextBox> 
           </EditItemTemplate> 
           <InsertItemTemplate> 
            <asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("Active") %>'></asp:TextBox> 
           </InsertItemTemplate> 
           <ItemTemplate> 
            <asp:Label ID="Label7" runat="server" Text='<%# Bind("Active") %>'></asp:Label> 
           </ItemTemplate> 
          </asp:TemplateField> 
          <asp:TemplateField HeaderText="Rev_Date" SortExpression="Rev_Date"> 
           <EditItemTemplate> 
            <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Rev_Date") %>'></asp:TextBox> 
           </EditItemTemplate> 
           <InsertItemTemplate> 
            <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Rev_Date") %>'></asp:TextBox> 
           </InsertItemTemplate> 
           <ItemTemplate> 
            <asp:Label ID="Label2" runat="server" Text='<%# Bind("Rev_Date") %>'></asp:Label> 
           </ItemTemplate> 
          </asp:TemplateField> 
          <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" 
           SortExpression="ID" Visible="False" /> 
          <asp:CommandField ShowInsertButton="True" ShowCancelButton="False" /> 
         </Fields> 
         <FooterStyle BackColor="#5D7B9D" BorderStyle="None" Font-Bold="True" ForeColor="White" /> 
         <CommandRowStyle BackColor="#E2DED6" BorderStyle="None" Font-Bold="True" /> 
         <RowStyle BackColor="#F7F6F3" BorderStyle="None" ForeColor="#333333" /> 
         <FieldHeaderStyle BackColor="#E9ECF1" BorderStyle="None" Font-Bold="True" /> 
         <EmptyDataRowStyle BorderStyle="None" /> 
         <PagerStyle BackColor="#284775" BorderStyle="None" ForeColor="White" HorizontalAlign="Center" /> 
         <HeaderStyle BackColor="#5D7B9D" BorderStyle="None" Font-Bold="True" ForeColor="White" /> 
         <InsertRowStyle BorderStyle="None" /> 
         <EditRowStyle BackColor="#999999" BorderStyle="None" /> 
         <AlternatingRowStyle BackColor="White" BorderStyle="None" ForeColor="#284775" /> 
        </asp:DetailsView> 
         &nbsp; 
        <br /> 
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" 
         DataSourceID="SqlDataSource1"> 
         <Columns> 
          <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" /> 
          <asp:BoundField DataField="Order" HeaderText="Order" SortExpression="Order" /> 
          <asp:BoundField DataField="Department" HeaderText="Department" SortExpression="Department" /> 
          <asp:BoundField DataField="DOC_Type" HeaderText="DOC_Type" SortExpression="DOC_Type" /> 
          <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" /> 
          <asp:BoundField DataField="Revision" HeaderText="Revision" SortExpression="Revision" /> 
          <asp:BoundField DataField="DOC" HeaderText="DOC" SortExpression="DOC" /> 
          <asp:BoundField DataField="Active" HeaderText="Active" SortExpression="Active" /> 
          <asp:BoundField DataField="Rev_Date" HeaderText="Rev_Date" SortExpression="Rev_Date" /> 
          <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" 
           SortExpression="ID" Visible="False" /> 
         </Columns> 
        </asp:GridView> 
             <br /> 

        &nbsp;</ContentTemplate> 
      </asp:UpdatePanel> 
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:CABCIntranetConnectionString %>" 
         DeleteCommand="DELETE FROM [sop] WHERE [ID] = @original_ID AND (([Order] = @original_Order) OR ([Order] IS NULL AND @original_Order IS NULL)) AND (([Department] = @original_Department) OR ([Department] IS NULL AND @original_Department IS NULL)) AND (([DOC Type] = @original_DOC_Type) OR ([DOC Type] IS NULL AND @original_DOC_Type IS NULL)) AND (([Title] = @original_Title) OR ([Title] IS NULL AND @original_Title IS NULL)) AND (([Revision] = @original_Revision) OR ([Revision] IS NULL AND @original_Revision IS NULL)) AND (([DOC] = @original_DOC) OR ([DOC] IS NULL AND @original_DOC IS NULL)) AND (([Rev Date] = @original_Rev_Date) OR ([Rev Date] IS NULL AND @original_Rev_Date IS NULL)) AND (([Active] = @original_Active) OR ([Active] IS NULL AND @original_Active IS NULL))" InsertCommand="INSERT INTO [sop] ([Order], [Department], [DOC Type], [Title], [Revision], [DOC], [Rev Date], [Active]) VALUES (@Order, @Department, @DOC_Type, @Title, @Revision, @DOC, @Rev_Date, @Active)" 
         SelectCommand="SELECT [Order], [Department], [DOC Type] AS DOC_Type, [Title], [Revision], [DOC], [Rev Date] AS Rev_Date, [Active], [ID] FROM [sop] WHERE ([Department] = @Department) ORDER BY [Order]" UpdateCommand="UPDATE [sop] SET [Order] = @Order, [Department] = @Department, [DOC Type] = @DOC_Type, [Title] = @Title, [Revision] = @Revision, [DOC] = @DOC, [Rev Date] = @Rev_Date, [Active] = @Active WHERE [ID] = @original_ID AND (([Order] = @original_Order) OR ([Order] IS NULL AND @original_Order IS NULL)) AND (([Department] = @original_Department) OR ([Department] IS NULL AND @original_Department IS NULL)) AND (([DOC Type] = @original_DOC_Type) OR ([DOC Type] IS NULL AND @original_DOC_Type IS NULL)) AND (([Title] = @original_Title) OR ([Title] IS NULL AND @original_Title IS NULL)) AND (([Revision] = @original_Revision) OR ([Revision] IS NULL AND @original_Revision IS NULL)) AND (([DOC] = @original_DOC) OR ([DOC] IS NULL AND @original_DOC IS NULL)) AND (([Rev Date] = @original_Rev_Date) OR ([Rev Date] IS NULL AND @original_Rev_Date IS NULL)) AND (([Active] = @original_Active) OR ([Active] IS NULL AND @original_Active IS NULL))" ConflictDetection="CompareAllValues" OldValuesParameterFormatString="original_{0}"> 
         <DeleteParameters> 
          <asp:Parameter Name="original_ID" Type="Int32" /> 
          <asp:Parameter Name="original_Order" Type="Int32" /> 
          <asp:Parameter Name="original_Department" Type="String" /> 
          <asp:Parameter Name="original_DOC_Type" Type="String" /> 
          <asp:Parameter Name="original_Title" Type="String" /> 
          <asp:Parameter Name="original_Revision" Type="Int32" /> 
          <asp:Parameter Name="original_DOC" Type="String" /> 
          <asp:Parameter Name="original_Rev_Date" Type="String" /> 
          <asp:Parameter Name="original_Active" Type="String" /> 
         </DeleteParameters> 
         <UpdateParameters> 
          <asp:Parameter Name="Order" Type="Int32" /> 
          <asp:Parameter Name="Department" Type="String" /> 
          <asp:Parameter Name="DOC_Type" Type="String" /> 
          <asp:Parameter Name="Title" Type="String" /> 
          <asp:Parameter Name="Revision" Type="Int32" /> 
          <asp:Parameter Name="DOC" Type="String" /> 
          <asp:Parameter Name="Rev_Date" Type="String" /> 
          <asp:Parameter Name="Active" Type="String" /> 
          <asp:Parameter Name="original_ID" Type="Int32" /> 
          <asp:Parameter Name="original_Order" Type="Int32" /> 
          <asp:Parameter Name="original_Department" Type="String" /> 
          <asp:Parameter Name="original_DOC_Type" Type="String" /> 
          <asp:Parameter Name="original_Title" Type="String" /> 
          <asp:Parameter Name="original_Revision" Type="Int32" /> 
          <asp:Parameter Name="original_DOC" Type="String" /> 
          <asp:Parameter Name="original_Rev_Date" Type="String" /> 
          <asp:Parameter Name="original_Active" Type="String" /> 
         </UpdateParameters> 
         <InsertParameters> 
          <asp:Parameter Name="Order" Type="Int32" /> 
          <asp:Parameter Name="Department" Type="String" /> 
          <asp:Parameter Name="DOC_Type" Type="String" /> 
          <asp:Parameter Name="Title" Type="String" /> 
          <asp:Parameter Name="Revision" Type="Int32" /> 
          <asp:Parameter Name="DOC" Type="String" /> 
          <asp:Parameter Name="Rev_Date" Type="String" /> 
          <asp:Parameter Name="Active" Type="String" /> 
         </InsertParameters> 
         <SelectParameters> 
          <asp:ControlParameter ControlID="DropDownList1" DefaultValue="MSD" Name="Department" 
           PropertyName="SelectedValue" Type="String" /> 
         </SelectParameters> 
        </asp:SqlDataSource> 
     </div> 
    </form> 
</body> 
</html> 




Imports System.Data.Sql 
Imports System.Data.SqlClient 
Imports System.Data 
Partial Class _Default 
    Inherits System.Web.UI.Page 

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click 
     DetailsView1.Visible = True 
     DetailsView1.ChangeMode(DetailsViewMode.Insert) 


     Dim tbox As TextBox = TryCast(DetailsView1.FindControl("textbox1"), TextBox) 
     tbox.Text = DateTime.Now.ToShortDateString() 



     Dim tbox1 As TextBox = TryCast(DetailsView1.FindControl("textboxdepartment"), TextBox) 
     tbox1.Text = DropDownList1.SelectedItem.Text 




     Dim tbox2 As TextBox = TryCast(DetailsView1.FindControl("textbox6"), TextBox) 
     tbox2.Text = "True" 




     Dim tbox3 As TextBox = TryCast(DetailsView1.FindControl("textboxtype"), TextBox) 
     tbox3.Text = "S.O.P" 


     Dim tbox4 As TextBox = TryCast(DetailsView1.FindControl("textbox5"), TextBox) 
     tbox4.Text = "1" 


     Dim tbox5 As TextBox = TryCast(DetailsView1.FindControl("textbox2"), TextBox) 
     tbox5.Text = GridView1.Rows.Count + 1 



    End Sub 
    Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click 
     UpdatePanel1.Update() 
    End Sub 

    Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.Click 
     DetailsView1.Visible = False 
    End Sub 

End Class 

답변

0

당신이 가장 최근의 브라우저에서 작동하지 않습니다이 작업을 수행 할 수 방법을 사용하여보기 파일을 업로드하십시오. 이전 버전의 Internet Explorer와 그 밖의 몇 가지 기능 만 있습니다.

작동하는 한 가지 방법은 Java 애플릿을 사용하여 기본 파일 업로드 위젯 대신 파일을 선택하는 것입니다. 실제 파일 자체가 아닌 파일 경로 만 필요하기 때문에 더 나은 솔루션입니다 (파일을 서버에 업로드 할 필요가 없습니다).

여기에 a link의 토론과이 작업의 데모 링크가 있습니다. 의견도 읽어주십시오. 데모 페이지의 소스 (링크 된 js 파일의 소스)를보고 작동시키는 방법을 확인해야합니다. 해당 페이지가 없어 그냥 경우

, 나는 아래의 관련 링크 복사합니다 : 자바 애플릿 소스 참조

관련 문제