在事件发生时,阻止页面在按钮单击时回发

时间:2016-08-25 07:36:06

标签: c# asp.net vb.net

我在VB.NET中编写了一个代码,其中有大约300个asp控件,所有这些控件都是动态创建的,每个控件的条件超过6个(如If control = dropdownlist then some code Elseif control = radiobuttonlist then some other code)。 现在我想为某些控件编写事件但是由于回发,当事件被触发时,所有控件都被刷新。

当我为按钮设置button1.onclientclick="return false"时,页面会在回发后停止,但事件也会停止工作。

我可以选择在视图状态下保存控件的值,然后重新创建控件,然后将值重新填充到动态控件中。此选项将增加我的执行线。

是否有任何其他方法,我可以阻止页面回发asp控件事件,以便我的asp控件持续输入值,并且我的事件也将工作。 this is the Code1 this is the Code2

2 个答案:

答案 0 :(得分:0)

创建动态控件OnPreInit Page的事件,希望这可以解决您的问题

override protected void OnPreInit(EventArgs e)
    {
        CreateDynamicControls();//Function which creates all dynamic controls

    }

答案 1 :(得分:0)

我使用JavaScript和Ajax来达到我的要求。

我为按钮的onclick和Textbox的onchange调用了JS函数(例如:btn1.Attribute.Add(" onClick",JSFunction(); return false;)[return]假是为了防止回发]。 然后我使用ajax post方法在.vb页面上做我的东西。