簡體   English   中英

按鈕單擊事件未觸發

[英]Button Click Event Not Firing

需要一些幫助。

說明:我有一個從DataGrid添加新命令啟動的WorkFlow類型UserControl。 UserControl的步驟1允許用戶輸入一些搜索條件,單擊“下一步”按鈕,它將顯示動態創建的UserControl(步驟2),其中顯示已檢索到datagrid中的數據行。 然后,用戶從中選擇要為其建模新條目的行,然后單擊srNextButton轉到最終的“數據條目”屏幕。

問題:動態創建的用戶控件(步驟2)上的srNextButton不會觸發按鈕事件處理程序代碼,也不會引起任何類型的回發。 我做錯了什么?

UserControl步驟2:

    <div style="width: 1000px; height: 400px; overflow: scroll;">
        <telerik:RadGrid ID="grd1" runat="server" CellSpacing="0" GridLines="None">
            <headercontextmenu cssclass="GridContextMenu GridContextMenu_Default">
    </headercontextmenu>
            <mastertableview tablelayout="Auto" width="95%">
        <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
        <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
            <HeaderStyle Width="20px"></HeaderStyle>
        </RowIndicatorColumn>
        <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
            <HeaderStyle Width="20px"></HeaderStyle>
        </ExpandCollapseColumn>
        <EditFormSettings>
            <EditColumn FilterControlAltText="Filter EditCommandColumn column">
            </EditColumn>
        </EditFormSettings>
    </mastertableview>
            <clientsettings>
        <Selecting AllowRowSelect="True" />
    </clientsettings>
            <filtermenu enableimagesprites="False">
    </filtermenu>
        </telerik:RadGrid>
        <asp:Button runat="server" ID="srNextButton" OnClick="nextButton_Click" Text="Next"
            CssClass="nextButton" AutoPostBack="true" />
        <asp:Button runat="server" ID="btnCancel" OnClientClick="CancelEdit()" Text="Cancel"
            CssClass="nextButton" />
    </div>

代碼Step2:

    protected void nextButton_Click(object sender, EventArgs e)
    {
        GridIndexCollection _int = this.grdPolicyCoverage.SelectedIndexes;
        GoToNextItem(this);
    }

我也嘗試添加:

    protected override void OnInit(EventArgs e)
    {

        base.OnInit(e);
        this.PreRender += SearchResults_PreRender;

        if (!IsPostBack)
        {
            this.srNextButton.Click += new EventHandler(nextButton_Click);
        }

    }

我有一個BaseUserControl.cs,用於容納控件的加載

    protected void GoToNextItem(Control control)
    {

        //RadPanelBar _radPanelBar = (RadPanelBar)page.Page.FindControl("RadPanelBar1");
        //NewAdjustment _newAdjustment = (NewAdjustment)this.Page.FindControl() 
        RadPanelBar _radPanelBar =
            (RadPanelBar) control.Parent.Parent.Parent.Parent.Parent.FindControl("RadPanelBar1");

        int selectedIndex = _radPanelBar.SelectedItem.Index;

        if (selectedIndex == 1)
        {
            RadPanelItem _pnlSearchResults = (RadPanelItem)_radPanelBar.FindItemByValue("SearchResults");
            _pnlSearchResults.Controls.Add(LoadControl("~/Controls/AdjustmentWorkFlow/SearchResults.ascx"));

        }
        _radPanelBar.Items[selectedIndex + 1].Selected = true;
        _radPanelBar.Items[selectedIndex + 1].Expanded = true;
        _radPanelBar.Items[selectedIndex + 1].Enabled = true;
        _radPanelBar.Items[selectedIndex].Expanded = false;


    }

父UserControl開始時,它下面的每個控件都在RadAjaxPanel中,如果有區別的話。

只需嘗試刪除代碼:

this.srNextButton.Click += new EventHandler(nextButton_Click);

從上面的問題中的OnInit ,然后將其放在Page_Load事件處理程序中,而無需檢查IsPostBack。

現在如何運作? :)

暫無
暫無

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

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