javascript - asp.net javascript .click() 事件未在服务器上触发

标签 javascript asp.net iis click

我有以下代码,它在开发机器上运行良好。但是,当我将其部署到 IIS 时,.click() 不会触发。

  1. 我有下拉框,当选择状态时,我添加以下代码来打开 RadWindow

    if (ddlStatusID.SelectedValue.ToString() == "2")
         btnUpdateStatus.Attributes.Add("onclick", "return OpenWindow2('" + 
         ResolveUrl("~/Request/AddBillableTime.aspx?  RequestId=" + RequestId.ToString()) +  
    "','650','320');");
    else
       btnUpdateStatus.Attributes.Add("onclick", "");
    
  2. 在弹出页面中,当用户单击按钮时,我添加执行以下操作

    ClientScript.RegisterStartupScript(this.GetType(), "CloseWindow", 
     "ClosePopup();", true);
    

这是 ClosePopup javascript。

function ClosePopup() {
    //debugger;
    alert('This is before closing the window');
    var oWindow = GetRadWindow();
    oWindow.argument = null;
    oWindow.close();
    alert('This is after closing the window');
    oWindow.BrowserWindow.ButtonClick();
    }
  1. 在主窗口中,我有以下 javascript,它是在上述 javascript 的最后一行中调用的。

    function ButtonClick() {
    //debugger;
    alert('This is before button click!');
    var btnUpdateStatus =   
    document.getElementById('ctl00_ContentPlaceHolder1_btnUpdateStatus');
    alert('This is getting the button!');
    btnUpdateStatus.setAttribute("onclick", "");
    alert('This is setting the button!');
    btnUpdateStatus.click();
    alert('This is after clicking the button!');
    

    }

我已使用警报来检查 javascript 函数执行的程度。

当我使用 Visual Studio 运行它以及将其托管在本地 IIS 服务器中时,整个功能都工作正常。但是,当我将其部署到服务器时,click() 事件停止触发。

如果代码有任何问题,请告诉我。

最佳答案

由于我被分配了一项新任务,所以我没有时间研究这个问题。但一旦我回到同样的任务就必须修复它。我从一位 friend 那里得到了一些帮助来解决这个问题。我不得不稍微改变一下当前的逻辑,并在下面解释了解决方案。

我更改了 ButtonClick 函数,如下所示,以使用 __doPostBack 函数创建手动发回页面。

function ButtonClick() {
__doPostBack('btnUpdatePage', '');
return;
}

我处理了从页面的 Page_Load 方法发回的消息。

if (Request["__EVENTTARGET"] == "btnUpdatePage")
{
     UpdateStatus();
}

如果回发事件目标与 __doPostBack 方法分配的事件目标匹配,则我调用一个方法来更新状态。

这样我就可以避免这个问题。但我不知道为什么使用旧的 ButtonClick 函数没有触发该事件。

关于javascript - asp.net javascript .click() 事件未在服务器上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11990995/

相关文章:

javascript - iframe 不会在桌面上的页面上居中

javascript - Jquery 在 ASP.net DIV 中不工作只是闪烁并且会卡在它的位置

javascript - 您可以使用 JavaScript 检测服务器端创建的文件下载窗口吗?

asp.net - IIS 7.5 的 CORS 设置

javascript - 从 Bootstrap Typeahead 中的数据属性中调用函数?

javascript - 使用 XML 类时出现 Flowtype 错误

azure - 通用化 Azure Windows VM 后 SSL 不起作用

iis - 无法连接到命名的共享 LocalDB 实例

javascript - :not(. 是否被禁用)对于事件处理程序总是必要的?

c# - 在 C# 中使单个语句异步的最简单方法?