按钮不会导致回发

时间:2011-05-22 14:13:35

标签: c# visual-studio-2010 asp.net-4.0

我有一个Button,相应的aspx是这个:

<asp:Button runat="server" ID="checkall" OnClientClick="setAllWeeks(true);" 
    AutoPostBack="true" Text="Check All" />

这是因为我希望在服务器端针对此特定按钮发生的逻辑是每次在Page_Load事件中发生的验证,此外,我希望首先调用Javascript函数。但是,当我点击按钮时,它似乎不会第一次引发回发,只是第二次发布回发。

如何保证首先执行客户端功能,然后生成回发?

2 个答案:

答案 0 :(得分:1)

执行以下代码:

<asp:Button runat="server" ID="checkall" OnClientClick="return setAllWeeks(true);" 
    AutoPostBack="true" Text="Check All" />

在setAllWeeks()函数内部执行以下操作:

function setAllWeeks(val) {

    //If everything all right
    If(True)
    {
      //Do something
      return true;   
    }
    else
      return false;
}

如果函数行为没有问题,则返回true,否则返回false。

注意:函数的所有路径都应返回一个值(布尔值)。

答案 1 :(得分:0)

这件事发生在我身上几次。原因是我在OnClientClick中指定的函数返回'false'。

锄头那套“setAllWeeks”看起来像什么? 也许它回归假?