簡體   English   中英

單擊ASP.NET從帶按鈕的DetailsViews內部獲取文本框值; 文本框數據獨立於綁定數據

[英]ASP.NET getting textbox value from inside a DetailsViews with a button is clicked; that textbox data is independent of the binded data

如標題中所述,我試圖從DetailsView中獲取文本框值。 但是,textbox值不在DetailsView中Binded數據的內容中,因此當我嘗試使用OnCommand方法獲取文本時,出現HttpContext錯誤。 其次,我無法使用其ID來獲取該值,可能是因為它位於DetailsView中。 最后,當我將文本框和按鈕放在DetailsView之外時,我得到了值,但是如果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>

發布后,我立即找到了答案。 這是我的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>

暫無
暫無

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

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