ASP.NET用户控件上的HTML按钮正在回发

时间:2014-05-20 20:02:51

标签: asp.net user-controls

对我来说非常奇怪的行为。我的ASP.NET用户控件中有两个html按钮,它们附加了onclick事件处理程序。但它回发了,我看到容器页面的Load事件被击中。但是没有命中用户控件本身的页面加载。我不想要这个回发。它应该表现为html控件,不应该回发页面。

请建议导致它回发的逻辑,并且仅在容器页面级别而不是它自己的page_load。还请告诉我如何避免这种行为。

  

UserControl代码

<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>

<input type="button" id="btnMarkAll" value="MarkAll" onclick="CallServer('Mark', ''); return false;" />

                <input type="button" id="btnUnMarkAll" value="UnMarkAll" onclick="CallServer('UnMark', '');" />

function ReceiveServerData(arg, context) {}


ClientScriptManager cm = Page.ClientScript;
        string cbReference = cm.GetCallbackEventReference(this, "arg", "ReceiveServerData", "");
        string callBackScript = "function CallServer(arg, context) {" + cbReference + ";}";
        cm.RegisterClientScriptBlock(this.GetType(), "CallServer", callBackScript, true);

public void RaiseCallbackEvent(String eventArgument){}

public string GetCallbackResult()
    {
        return strReturn;
    }

似乎回调未正确注册。

我在容器aspx页面和raisecallbackevent函数的页面加载事件上保留了调试器。奇怪的是,当我单击UnMark按钮(这是一个HTML控件)时,页面加载事件调试器被命中,但raisecallbackevent调试器没有被命中。

首先是为什么会发生PageLoad事件,其次是为什么RaiseCallBackEvent调试器没有命中。

0 个答案:

没有答案