popupextendercontrol вызывает обратную передачу в asp.net 3.5

Я попытался поместить кнопку asp (при использовании submit равняется false) или в текстовом поле asp, которое должно открыть всплывающую панель (которую я определил), но popupextender вызывает обратную передачу и отображает все содержимое текущей страницы (вместо метод страницы (я определил).

Это почти 5 часов отладки, открытия новых проектов (чтобы попытаться воспроизвести кейс в другом проекте) и так далее. Заранее спасибо...

Это тело страницы, которая обрабатывает пользовательский элемент управления:

  <body>
    <form id="form1" runat="server">
   <div>
        <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></ajaxToolkit:ToolkitScriptManager>    
       <ucpop:popup ID="gv" runat="server" />
      </div>
   </form>

Это пользовательский контроль:

    <asp:UpdatePanel runat="server" ID="upExample">
    <ContentTemplate>
        <asp:GridView runat="server" ID="gvCars"
            OnDataBinding="gvCars_DataBinding"
            OnRowCommand="gvCars_RowCommand"
            >            
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>                        
                    <asp:ImageButton runat="server" ID="ibPopup" ImageUrl="~/Resources/Perspective-Button-Go-icon.png" Width="20px" Height="20px" />
                    <ajaxToolkit:PopupControlExtender ID="pce" runat="server" TargetControlID="ibPopup" DynamicControlID="pToUpdate"
                        PopupControlID="pToExtend" DynamicContextKey='<%#Eval("id") %>' DynamicServiceMethod="GetDynamicContent">
                    </ajaxToolkit:PopupControlExtender>
                    <asp:Panel runat="server" ID="pToExtend" BackColor="Red" style="display:none">Hello
                    <asp:Panel runat="server" ID="pToUpdate">
                    </asp:Panel>
                    </asp:Panel>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>                        
                    <asp:Label runat="server" ID="lidPopup" Text='<%=Eval("id") %>' />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>                        
                    <asp:Label runat="server" ID="lNamePopup" Text='<%=Eval("Name") %>' />
                </ItemTemplate>
            </asp:TemplateField>  
            <asp:TemplateField>
                <ItemTemplate>                        
                    <asp:ImageButton CommandName="p" runat="server" ID="ibNotPopUp" ImageUrl="~/Resources/Perspective-Button-Go-icon.png" Width="20px" Height="20px" />
                </ItemTemplate>
            </asp:TemplateField>                                                
        </Columns>
        </asp:GridView>
    </ContentTemplate>
    </asp:UpdatePanel>

Это код веб-страницы:

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    [System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
    public static string GetDynamicContent(string contextKey)
    {
        StringBuilder sTemp = new StringBuilder();

        sTemp.Append(string.Format("<div>Cool! I'm {0}</div>", contextKey));

        return sTemp.ToString();
    }
}          

Это код UserControl:

         public partial class GridViewWithPopUpControl : System.Web.UI.UserControl
    {
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            gvCars.DataBind();
        }     
    }

    protected void gvCars_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Delete")
        {
            string t = e.CommandName;
        }
    }

    protected void gvCars_DataBinding(object sender, EventArgs e)
    {
        GridView gv = (GridView)sender;
        gv.DataSource = CarList.CarCollection;
    }
}

Это довольно стандартный код... но не работает должным образом. Я думаю об обновлении ajaxtoolkit, но другие функции в системе веб-сайта могут быть разрушены, поэтому я должен обдумать это. Еще раз спасибо.

1 ответ

Предположительно, метод Page находился не на странице, а в пользовательском элементе управления. Я не писал ни пользовательский элемент управления, ни страницу, мне просто нужно было добавить функциональность, и я нашел эту проблему - и исправил ее...

Другие вопросы по тегам