2016-05-30 47 views
0

正如標題中所寫,我試圖從DetailsView中獲取文本框值。但是,textbox值不在DetailsView中的綁定數據的內容中,因此當我嘗試使用OnCommand方法獲取文本時,出現HttpContext錯誤。其次,我無法使用其ID來獲取值,可能是因爲它在DetailsView中。最後,當我將DetailsBox的文本框和按鈕放在DetailsView外部時,我得到了該值,但如果在DetailsView中沒有要顯示的數據,則不應顯示按鈕和文本。ASP.NET單擊按鈕時從DetailsView中獲取文本框值;該文本框數據獨立於綁定數據

這是我的DetailsView控件代碼:

<asp:DetailsView ID="dvÜrün" runat="server" GridLines="None" CssClass="table table-borderless" AutoGenerateRows="false" OnCommand="dvÜrün_ItemCommand"> 

    <Fields> 
     <asp:TemplateField Visible="false"> 
      <ItemTemplate> 
       <%#Eval("ÜrünID") %> TL          
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField DataField="ÜrünAdı" HeaderText="Adı" /> 
     <asp:BoundField DataField="ÜrünKategori" HeaderText="Kategori" /> 
     <asp:BoundField DataField="ÜrünAçıklama" HeaderText="Açıklama" /> 
     <asp:TemplateField HeaderText="Ücret"> 
      <ItemTemplate> 
       <%#Eval("ÜrünÜcret") %> TL          
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField>     
      <ItemTemplate> 
       Adet: 
       <asp:textbox ID="Adet" runat="server" CssClass="text-center" textmode="SingleLine" type="number" min="1" max="20" Text="1"/> 
       <asp:Button CssClass="pull-right btn btn-success" Text="Sepete Ekle" runat="server" OnClick="sepeteEkle_Click"/> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Fields> 
</asp:DetailsView> 

回答

0

張貼在此之後,我立刻找到了答案。這是我的CS代碼:

public void dvÜrün_ItemCommand(object sender, DetailsViewCommandEventArgs e) 
    { 
     if (e.CommandName == "ürünEkle") 
     { 
      string adet = ((TextBox)dvÜrün.FindControl("Adet")).Text; 

     } 
    } 

這是DetailsView控件代碼:

<asp:DetailsView ID="dvÜrün" runat="server" GridLines="None" CssClass="table table-borderless" AutoGenerateRows="false" OnItemCommand="dvÜrün_ItemCommand"> 

    <Fields> 
     <asp:TemplateField Visible="false"> 
      <ItemTemplate> 
       <%#Eval("ÜrünID") %> TL          
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField DataField="ÜrünAdı" HeaderText="Adı" /> 
     <asp:BoundField DataField="ÜrünKategori" HeaderText="Kategori" /> 
     <asp:BoundField DataField="ÜrünAçıklama" HeaderText="Açıklama" /> 
     <asp:TemplateField HeaderText="Ücret"> 
      <ItemTemplate> 
       <%#Eval("ÜrünÜcret") %> TL          
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField>     
      <ItemTemplate> 
       Adet: 
       <asp:textbox id="Adet" runat="server" CssClass="text-center" textmode="SingleLine" type="number" min="1" max="20" Text="1"/> 
       <asp:Button CssClass="pull-right btn btn-success" Text="Sepete Ekle" runat="server" CommandName="ürünEkle"/> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Fields> 
</asp:DetailsView> 
相關問題