Telerik控制弹出窗口拒绝关闭

本文关键字:拒绝 窗口 控制 Telerik | 更新日期: 2023-09-27 17:58:28

我有一个页面,其中有一个用户应该选中的复选框,并且会显示一个弹出窗口。弹出的窗口显示正确;然而,我一直没能把窗户关上。正如您在下面看到的,每当用户单击提交时,就会调用closewindow函数。会显示该消息,但窗口永远不会关闭。请参阅下面的示例代码。

//This is the content of the partial page that is being load in the popped up window.
@using (Html.BeginForm("StudentArchive", "Arvhive", FormMethod.Post, new { onsubmit = "CloseWindow()" }))
{
    @Html.HiddenFor(item => item.StudentID)
<table>
    <tr>
        <th>
            Student Archive Reason
        </th>
    </tr>
    <tr>
        <td>
            @Html.TextAreaFor(item => item.ArchiveReason)
        </td>
    </tr>
</table>
 <input type="submit" value="Submit" name="btnSubmit" id="ArchiveReasonSubmit" onclick="CloseWindow();" />
}

      <script type="text/javascript">
          function CloseWindow() {
              alert('I am closing window in reason for archive');
              $("#Window").data("tWindow").close();
//              $('#Window').prop("checked", "checked");
//              window.location.href = window.location.href;
          }
    </script>

//this script is in a studentDetails page which is where the checkbox that would open the window below located.

<script type="text/javascript">
    function chkArchive() {
        var s = document.getElementById('archiveCheckBox').checked;
        if (s == true) {
            OpenWindow(this);
        }
        if (s == false) {
            alert('checkbox is unchecked');
        }
    }
</script>

<script type="text/javascript">
        function OpenWindow(e) {
            var checkbox = document.getElementById('archiveCheckBox').value;
            if (checkbox == "false") {
                alert('It is false.');
            } else if (checkbox == "true") {
                $('#Window').data('tWindow').center().open();
            } 
        }
</script>
    <script type="text/javascript">
        function ClosingWindow() {
            $('#Window').prop("checked", "checked");
            window.location.href = window.location.href;
        }
    </script>

  @{Html.Telerik().Window()
  .Name("Window")
  .Visible(true)
  .Title("Reason for Archives")
  .Modal(true)
  .Height(600)
  .Draggable(true)
  .Visible(false)  //I could have added a variable set the default value to false to hide the window. However, I am not sure how to change it back to 
                   //yes after the user checks the checkbox for the first time. The only event that fire when a user check the checkbox is the javascript event to check the state
                   // of the checkbox and open the window.
  .Width(800)
  .ClientEvents(events => events.OnClose("ClosingWindow"))
  .LoadContentFrom(Url.Action("StudentArchive", "Student", new { StudentID = @ViewData["StudentID"] }, Request.Url.Scheme))
  .HtmlAttributes(new { onsubmit = "CloseWindow()" })
  .Render();
  }

Telerik控制弹出窗口拒绝关闭

jquery库被引用了两次。我将它从局部视图页面中删除,查询工作正常。以下是帮助我解决此问题的链接。:

http://www.telerik.com/community/forums/aspnet-mvc/window/close-modal-window-from-within-the-window.aspx