0

ASP.NET ページに、いくつかの基準に基づいて条件付きでポストバックするボタン コントロールがあります。

<input runat="server" type="button" id="btnDone" value="Select" onclick="return SendAndCloseAdvWin();" onserverclick="serverProcessing" />

.

function SendAndCloseAdvWin() {
  var win = GetRadWindow();

  if (GetRadCtrl('lstSelectors').get_checkedItems().length == 0) {
    DisplayError('Please select atleast one item.');

    return false;
  }
  else {
    if (win) {
      win.close(GetSelectedItems());
      return true;
    }
  }
}

条件が true の場合、ページはポストバックされません。それ以外の場合はポストバックされます。しかし、条件が失敗してもページはポストバックしないことがわかりました。ここで何かが欠けていますか?

4

1 に答える 1

0

あなたのボタンは「送信」ボタンではなく「ボタン」です​​。

ボタンを次のように変更してみてください。

<input runat="server" type="submit" id="btnDone" value="Select" onclick="return SendAndCloseAdvWin();" onserverclick="serverProcessing" />

また、JS では、ネストされた条件が満たされない限り、「else」に値を返しません。フォールスルーで true/false を返す必要があります。

  else {
    if (win) {
      win.close(GetSelectedItems());
      return true;
    }
    return false;
  }
于 2012-06-01T10:07:32.207 に答える