簡體   English   中英

使用c#ASP.NET編輯圖像並從GridView中刪除行

[英]Edit Image and Delete Row from GridView using c# ASP.NET

我需要使用C# ASP.NET EditDelete GridView Row

我嘗試過一次,並且在clickEdit Button后能夠在TextBox填充數據,但是我還有一個要Edit Image ,我需要的是當用戶clickEdit ImageImage也將Display在適當的位置以進行Edit 。在Delete部件的情況下, Anchor TagImage ,我需要從GridView傳遞哪個事件並在頁面后面的代碼中定義,以便執行此操作。

faq.aspx:

    <div class="col-md-6">
    <label for="question" accesskey="T"><span class="required">*</span> Question</label>
    <asp:TextBox ID="TextBox1" runat="server"  size="30" value="" name="question" ></asp:TextBox>
    <div id="noty" style="display:none;" runat="server"></div>
    <label for="answer" accesskey="A"><span class="required">*</span> Answer</label>
    <asp:TextBox ID="TextBox2" runat="server"  size="30" value="" name="answer" ></asp:TextBox>
    <div id="Div1" style="display:none;" runat="server"></div>
</div>
<div class="col-md-6 bannerimagefile">
    <label for="insertimage" accesskey="B"><span class="required">*</span> Insert Image</label>
    <asp:FileUpload runat="server" class="filestyle" data-size="lg" name="insertimage" id="FileUpload1" onchange="previewFile()" />
    <label for="bannerimage" accesskey="V"><span class="required">*</span> View Image</label>
    <div style="padding-bottom:10px;">
        <asp:Image ID="Image3" runat="server" border="0" name="bannerimage" style="width:70px; height:70px;"   />
    </div>
    <div class="clear"></div>
    <asp:Button ID="Button1" runat="server" Text="Submit" class="submit" 
        onclick="Button1_Click" />
    </div>
</div>
</div>

</div>
<!--end_1st_faq_add_div-->
<!--2nd_list_banner_view_div-->
<div class="widget-area">
    <h2 class="widget-title"><strong>FAQ List</strong></h2><asp:HiddenField ID="HiddenField1"  runat="server" />
    <div class="streaming-table margin-top-zero padding-top-zero">
        <div class="table-responsive">
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" 
                Width="100%" CssClass="table table-striped table-bordered margin-top-zero" 
                onselectedindexchanged="GridView1_SelectedIndexChanged">
            <Columns>
               <asp:TemplateField HeaderText="Sl No">
               <ItemTemplate>
               <asp:Label ID="faqid" runat="server" Text='<%#Eval("FAQ_ID") %>'></asp:Label>
               </ItemTemplate>
               </asp:TemplateField>
               <asp:TemplateField HeaderText="Question" >
               <ItemTemplate>
               <asp:Label ID="question" runat="server" Text='<%#Eval("Question") %>'></asp:Label>
               </ItemTemplate>
               </asp:TemplateField>
               <asp:TemplateField HeaderText="Answer" >
               <ItemTemplate>
               <asp:Label ID="answer" runat="server" Text='<%#Eval("Answer") %>'></asp:Label>
               </ItemTemplate>
               </asp:TemplateField>
               <asp:TemplateField HeaderText="Image" >
               <ItemTemplate>
               <asp:Image ID="Image1" runat="server" border="0" name="bannerimage" style="width:70px; height:70px;" ImageUrl='<%# "/Upload/" + Convert.ToString(Eval("Image")) %>'  /> 
               </ItemTemplate>
               </asp:TemplateField>
               <asp:TemplateField HeaderText="Action" >
               <ItemTemplate>
               <a href="" data-toggle="tooltip" title="" class="btn btn-xs btn-success" data-original-title="Edit" id="editbtn" ><i class="fa fa-edit"></i></a>
<a href=" " data-toggle="tooltip" title="" class="btn btn-xs btn-danger" data-original-title="Delete"><i class="fa fa-times"></i>
       </ItemTemplate>
       </asp:TemplateField>
    </Columns>
    </asp:GridView>
</div>

faq.aspx.cs:

protected void GridView1_SelectedIndexChanged(object sender, GridViewSelectEventArgs e)
{
    int index = Convert.ToInt32(e.NewSelectedIndex);
    TextBox1.Text = GridView1.Rows[index].Cells[1].Text;
    TextBox2.Text = GridView1.Rows[index].Cells[2].Text;
    HiddenField1.Value = GridView1.Rows[index].Cells[0].Text;
    Button1.Text = "Update";
}

請幫助我解決此問題。

我看到您只有網格視圖中的項目邊撐。 因此,我將告訴您兩種方法:1)在網格視圖中添加編輯模板,並處理網格視圖的OnRowEditing事件。 2)添加帶有行鍵的超鏈接,然后鏈接到另一個頁面,您可以像在此頁面中一樣設計編輯器,方法是使用鍵(主鍵)預先填充數據

最好使用“ entitydataSource”或“ linqdateSource”或“ sqlDataSource”之類的現代數據控件,並通過它們綁定您的gridview。 對所有行使用'itemtemplate'並不是一個好方法,而是將'dataSource'填充到網格中,並使用'itemTemplate'進行刪除或編輯按鈕。 在后面的代碼中將按鈕名稱作為commandName和rowID作為commandArgument發送到gridViewItemCommand事件。

在GridviewItemcommand_Event中的落后代碼中,帶有switch語句的itemCommands循環如下:

int itemID = int.parse(e.commandArgument)
switch(e.commandName)
   { 
      case 'DoEdite' :{//some Code 
                       Viewstate["ID"] = itemID;
                       break;}

      case 'DoDelete' :{//some Code
                        break;}
   }

您具有itemID(e.commandeArgument)並知道單擊了哪個按鈕(e.commandName)。因此您可以執行所需的操作。 在編輯模式下,當您將數據發送到文本框時,由於在編輯后需要使用viewstate或其他集合來保存您的dataID,因此對於更新編輯日期,您需要它,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM