2011-09-05 67 views
0

我工作了很长时间的Windows应用程序使用.NET。最近2年,我正在与asp.net合作。我们经常使用asp.net按钮控件。当我们点击按钮,然后回发发生和正确的服务器端事件由asp.net引擎调用。我如何链接&图像按钮导致回发时,用户点击这些按钮。ASP.Net回发和按钮内部

当我们与链接&图像按钮,然后__doPostback js函数被调用,并导致表单提交到服务器和请求相同的页面和asp.net引擎检测哪个控件导致从隐藏的输入控件回发称为eventTarget和调用该控件的右侧事件处理程序。

,但我不知道我们什么时候与asp.net按钮控制工作就像

<asp:Button ID="SampleButton" runat="server" 
     Text="Submit" 
     OnClick="ButtonClick" /> 

当我们点击按钮,然后还形成提交而是如何。我知道在这种情况下,__doPostback不会调用,因为对于按钮__doPostback从不在页面中呈现。所以在这种情况下表单提交,但如何asp.net引擎检测哪个按钮导致回发和调用正确的事件处理程序?

当发生回发时,我们如何从txt1.text等文本框中获取数据。它是从视图状态提取....我是对的。

请回答我的2个问题。试着在这里解释,而不是给任何网址......谢谢。

回答

0

asp:button默认工作方式不同。它输出一个标准的HTML Submit按钮,该按钮可以回到form指定的Action URL。因此它不像其他控件一样使用事件。

但是,如果您添加一个OnCommand并将CommandName/CommandArgs分配给控件,它将导致与其他控件相同的基于事件的回调行为。 OnClick也是如此。我认为这与其他控件使用相同的过程,但实际上不同。

它看起来像它使用__VIEWSTATE__EVENTVALIDATION来确定哪个表单回发,并且提交按钮id的名称作为标准HTML表单行为的一部分发布在表单中。这是用来触发服务器端事件的。

+0

我试图知道,当我们点击按钮,然后像的button1_Click服务器端事件是如何调用...我知道表单提交...但我需要知道的技巧,如何事件处理程序的权利被调用? – Thomas

+0

您解释了按钮事件如何在问题中起作用。所以我可能会错过理解。 – TheCodeKing

+0

如果你知道如何处理asp.net按钮的事件处理程序时使用点击按钮然后plzz解释...谢谢 – Thomas

1

这很简单,就如何控制回发。他们以与纯html解决方案相同的方式进行操作。页面上有一个Form标签。当按下按钮时,它会导致表单向服务器提交回传。

注意窗体标签的动作目标,它指向我的aspx页面 这些都是由aspx页面本身生成的。

<form name="form1" method="post" action="Default.aspx" id="form1"> 
    <div> 
     <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMjA0OTM4MTAwNGRk5H5eaMNZp5tsD/GQ2iYj2p8J0as=" /> 
    </div> 

    <div> 
      <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKmxpCiBgKSotaIC5iWtiHNi+oxYiuBULPgr5d0/WFu" />   
    </div> 
    <div> 
     <input type="submit" name="btn1" value="click me" id="btn1" /> 
    </div> 
</form> 
+0

我是想知道,当我们在按钮点击喜欢的button1_Click服务器端事件则是如何调用...我知道表单提交...但我需要知道的技巧,如何事件处理程序的权利被调用? – Thomas