簡體   English   中英

模擬點擊 ASP.NET 按鈕的問題

[英]Problems simulating click of ASP.NET button

我有一些這樣的代碼

<asp:Button ID="cancelDummyButt" runat="server" CausesValidation="False" 
    Text="cancel" onclick="cancelDummyButt_Click" Enabled="True" />

(Javascript:)

buttid = '<%=cancelDummyButt.ClientID.ToString%>';
eltoclick = document.getElementById(buttid);
eltoclick.click();

不調用服務器端代碼。 怎么了? 在“點擊”之前一切正常。 調試的最佳方法是什么?

(這是為了從更新面板中的 iframe 獲得正確的回發)

奧拉夫,模態 windows 的訣竅是在模態 window之外有一個隱藏的 ASP:按鈕。 您可以在模態 window 內有一個常規的 html 按鈕,單擊該按鈕時,會為隱藏的 ASP:Button 控件調用 __doPostback('', '') 方法。 這與實際單擊 ASP 按鈕的效果相同。

 <.-- start modal dialog div --> <input type="button" onclick="__doPostBack('<%= btnDoIt,UniqueID %>';''):" value="Do It:" /> <;-- end modal dialog div --> <asp:Button id="btnDoIt" style="display:none;" runat="server"></asp:Button>

以編程方式調用控件的 click() 事件不會觸發事件處理程序 function。 您需要手動調用它....

if(eltoclick.onclick())
  eltoclick.click();

首先,你在這一行有一個錯誤:

buttid = '<%= cancelDummyButt.ClientID.ToString() %>';

我的建議是,將您的 javascript 代碼放在后面的代碼中,然后像這樣注冊到頁面:

string script = string.Format("var buttid = '{0}';", cancelDummyButt.ClientID);
if (!ClientScript.IsClientScriptBlockRegistered("myScript"))
{
    ClientScript.RegisterClientScriptBlock(typeof(_Default), "myScript", script, true);
}

已解決 - 這是由模態 jQuerywindow 引起的!

(當然,想要一些解決方法)

奧拉夫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM