ASP.net按钮服务器端点击不激活

时间:2010-01-04 18:51:31

标签: asp.net

我在面板控件中有一个ASP.net按钮btnAccept,它将显示在modalViewextender控件的Click of Another按钮上。

btnAccept控件onclick未触发。但如果我把onClient点击它就会被解雇。但我想在服务器端工作onClick。我没有收到任何错误,我无法解决这个问题。

非常感谢任何帮助。

以下是按钮的代码

<cc1:ModalPopupExtender ID="mdldigiSign" runat="server" Enabled="True" 
    BackgroundCssClass="modalBackground" TargetControlID="pnlSign" 
    PopupControlID="pnlSign" CancelControlID="lblCloseSign"
    OnCancelScript="hideDigiSignDialog();" DynamicServicePath="">
</cc1:ModalPopupExtender>
<asp:Panel ID="pnlSign" runat="server">
    <table border="0" class="SubMenu" align=center >
        <tr>
            <td align="right" valign="top" style="height: 30px">
                <label id="lblCloseSign" runat="server" title="Close">
                    <a href="#">
                        <img src="images/close_button.gif" border="0" 
                                alt="Close" />
                    </a>
                </label>
            </td>
        </tr>
        <tr><td>Respondent's Signature</td></tr>
        <tr>
            <td align=center >
                <OBJECT id=esCapture1 
                    classid=clsid:84C046A7-4370-4D91-8737-87C12F4C63C5 
                    width="150" height="80" codebase="websignax.cab" VIEWASTEXT>
                    <param name="useslibrary" value="websignAx">
                    <param name="useslibrarycodebase" value="websignax.cab">
                    <param name="useslibraryversion" 
                        value="7,1,0,1">IntegriSign Signature Control
                </OBJECT>
                <br />
                <br />
                <INPUT onclick=signNow() type=button value="StartSign" 
                    name=B1 id=B1>
                &nbsp;&nbsp;
                <input type="button" value="GetData" name="B2" 
                    onclick=getData()>
                <br />
                <asp:HiddenField ID="hdsignature" runat=server />
            </td>
        </tr>
        <tr>
            <td  align="center">
                <asp:Button ID="btnAccept" runat="server" 
                    Text="Accept Settlement"  /> 
            </td>
        </tr>
    </table>
</asp:Panel>

由于

4 个答案:

答案 0 :(得分:4)

没有看到任何代码(这对我们有帮助),我猜你是在动态地将你的btnAccept添加到页面中,而不是在回发上正确地重新创建它。

如果您未在生命周期的Init阶段创建btnAccept,则必须手动跟踪其ViewState。如果你在PreRender()之前没有创建它,那么你将超过事件处理程序触发的点。

如果您发布一些代码,诊断起来会容易得多。

答案 1 :(得分:1)

页面指令可能具有以下设置:eventwireup =“false”。 如果这是真的,事件将不会触发。

正如womp所说 - 看看代码会有所帮助。 你能在帖子中加入页面指令吗?

答案 2 :(得分:1)

  1. 您的<asp:Button>控件没有分配OnClick处理程序。
  2. 您确实为<input>标记分配了OnClick处理程序,但这不起作用;首先,任何调用服务器端操作的标签都必须设置runat="server";第二,你应该使用<asp:TextBox>控件。

答案 3 :(得分:0)

我想知道你是否遇到了一个问题,即在客户端做了太多事情,你的视图状态变得无效,这就是阻止服务器端调用被触发的问题。

Intermittent Invalid Viewstate Error in ASP.NET Web pages也可以提供帮助。你确认有请求进入服务器吗?