第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我的 itemCommand DataGrid 事件僅在第二次單擊網(wǎng)格控件中的項目時觸發(fā)?

為什么我的 itemCommand DataGrid 事件僅在第二次單擊網(wǎng)格控件中的項目時觸發(fā)?

C#
瀟瀟雨雨 2022-11-13 14:27:15
我的 Web 表單數(shù)據(jù)網(wǎng)格響應(yīng)點擊事件時遇到問題。請允許我解釋一下:在第一次加載頁面時,會填充一個下拉列表供用戶選擇一個項目。當(dāng)用戶在下拉列表中選擇一個項目時,會出現(xiàn)一個數(shù)據(jù)網(wǎng)格(稱為 tmdg)(加載第二頁),其中包含 ButtonColumns。當(dāng)用戶在數(shù)據(jù)網(wǎng)格的 ButtonColumns 之一中選擇一個按鈕時,按鈕的值從 false 翻轉(zhuǎn)為 true(或從 true 翻轉(zhuǎn)為 false,具體取決于它的起始值)。在 Page_Load 事件中,如果 Page.IsPostBack==true,我將事件處理程序分配給數(shù)據(jù)網(wǎng)格 (tmdg),如下所示:tmdg.ItemCommand += Tmdg_ItemCommand;Tmdg_ItemCommand 是調(diào)用 Save() 的方法,它翻轉(zhuǎn)數(shù)據(jù)表并最終翻轉(zhuǎn)數(shù)據(jù)網(wǎng)格單元格值。這一切都適用于數(shù)據(jù)網(wǎng)格中的第一次單擊。但是,對于隨后單擊數(shù)據(jù)網(wǎng)格,button.DataTextField 值僅在第二次單擊網(wǎng)格時翻轉(zhuǎn)。(本質(zhì)上是“雙擊”而不是單擊)。我的目標(biāo)是為每個單擊事件翻轉(zhuǎn) ButtonColumn 中單元格的值。請注意:在第一次單擊值翻轉(zhuǎn)成功的網(wǎng)格后,如果我可以單擊沒有任何反應(yīng)的單元格 (5,6),如果我單擊單元格 (7,2),我將翻轉(zhuǎn)該單元格 (7 ,2). 同樣,我可以在沒有任何反應(yīng)的情況下再次單擊 (5,2),然后再次選擇 (5,2) 進(jìn)行翻轉(zhuǎn)。(這就是我所說的“雙擊”的意思)其他注意事項:我已經(jīng)嘗試在多個位置分配整個應(yīng)用程序的事件處理程序(在頁面的 OnInit 中的 Page_Load 之前;或在 UpdatePanel 的 Panel_Init 方法中;或不管 Page_Load 中的 Page.IsPostBack;或在 Page_Load 之后)數(shù)據(jù)網(wǎng)格是一個動態(tài)加載的控件,它放置在 Panel 上,而 Panel 又放置在 UpdatePanel 上。我會盡量不在這里放置一大堆代碼,但確實想為您提供一些東西。為了簡潔起見,我對它進(jìn)行了一些編輯。<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Push.aspx.cs" Inherits="TMUWF.Push"  MasterPageFile="~/Site.Master" %>    <asp:Content ID="Content3" ContentPlaceHolderID="MainContent" Runat="Server">        <asp:DropDownList ID="DropDownList1"             OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"            runat="server"             AutoPostBack="True"            AppendDataBoundItems="true"             OnMouseDown="this.size=10;"             OnFocusOut="this.size=1;"             OnDblClick="this.size=1;"            >        </asp:DropDownList>在我看來,當(dāng)我在 BindGrid() 的兩個“if”語句中設(shè)置斷點時,第一個“if”經(jīng)常被跳過,這意味著 Panel1 在那個時刻不包含我的數(shù)據(jù)網(wǎng)格 tmdg。這個“if”在被忽略的“first-click”中被特別跳過。如果您需要我提供更多信息,請告訴我!我希望你們中的一個能弄清楚我做錯了什么??!任何和所有評論表示贊賞..
查看完整描述

1 回答

?
慕后森

TA貢獻(xiàn)1802條經(jīng)驗 獲得超5個贊

我沒有在 Push.aspx.cs 中實例化數(shù)據(jù)網(wǎng)格 tmdg,而是將其添加到 Push.aspx 中,每次都會觸發(fā)點擊事件。我不確定為什么這在 .aspx 中有效但在 .aspx.cs 文件中無效。


下面是新代碼來解釋......


::::Push.aspx::::(此處添加了數(shù)據(jù)網(wǎng)格)


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Push.aspx.cs" Inherits="TMUWF.Push"  MasterPageFile="~/Site.Master" %>

    <asp:Content ID="Content3" ContentPlaceHolderID="MainContent" Runat="Server">

        <asp:DropDownList ID="DropDownList1" 

            OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"

            runat="server" 

            AutoPostBack="True"

            AppendDataBoundItems="true" 

            OnMouseDown="this.size=10;" 

            OnFocusOut="this.size=1;" 

            OnDblClick="this.size=1;"

            >

        </asp:DropDownList>


        <asp:UpdatePanel  ID="UpdatePanel1" runat="server" UpdateMode="Conditional" OnInit="Panel_Init">

            <contenttemplate>

                <h3 id="div-Col-Title">Node</h3>

                <asp:Panel runat="server" ID="Panel1">

                    <div id="div-Row-Title"><h3 >Channel</h3></div>

                    <asp:DataGrid ID="tmdg" CssClass="gvClass push" AutoGenerateColumns="false" runat="server" >

                    </asp:DataGrid>

                </asp:Panel>

            </contenttemplate>

        </asp:UpdatePanel>

    </asp:Content>

::::Push.aspx.cs:::: (此處刪除了數(shù)據(jù)網(wǎng)格)


        //DataGrid tmdg = new DataGrid

        //{

        //    AutoGenerateColumns = false,

        //    CssClass = "gvClass push"            

        //};

關(guān)于為什么的想法表示贊賞。


查看完整回答
反對 回復(fù) 2022-11-13
  • 1 回答
  • 0 關(guān)注
  • 95 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號