簡體   English   中英

使用Java單擊按鈕

[英]Click a button using Javascript

我需要我的JavaScript文件才能從另一頁單擊asp按鈕,這是代碼:

if (something..) {
            document.getElementById('<%=Button1(how to write it?).ClientID %>').click();
        }

Button1在default.aspx文件中,而JavaScipt在Click.aspx文件中-javascript在default.aspx頁面中不在我該怎么做?

這是我的asp按鈕:

  <asp:Button ID="Button1" runat="server" Text="Button" />

有點困惑你的問題。

如果按鈕在同一頁面上,則可以使用

 __doPostBack(buttonID,'');

如果按鈕在其他頁面中並且未加載該頁面。 我認為您不能直接進行回發。 可能是您可以將參數作為查詢字符串傳遞,然后在服務器端讀取查詢字符串,然后如果該值存在,則觸發按鈕單擊事件。

已編輯

ASPX:default.aspx

    <script>
        var button1 = "<%= Button1.ClientID %>";
        var something = true;
    </script>
    <h3>We suggest the following:</h3>

   <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return false;" OnClick="Button1_Click" />


    <script src="Scripts/test.js"></script>

JavaScript:test.js

var element = document.getElementById(button1);

if (element != null) {

    element.onclick = function () {
        if (!something) return false;
        return true;
    };
}

C#

 public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string a;
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            var clicked = "";
        }
    }

jQuery使您可以輕松地做到這一點。

如果將JQuery導入項目,然后執行以下操作:

    $('buttonIdHere').click();

那應該給您您所需要的。

假設您按鈕的ID為Button1,並且您想引起回發,請在javascript中使用它:

eval('<%= Page.ClientScript.GetPostBackEventReference(Button1, String.Empty) %>')

剛剛注意到“ JavaScript文件可以從另一個頁面單擊asp按鈕”。 您從另一頁說什么? 您有帶有JavaScript的page1.aspx,並試圖調用page2.aspx的button1嗎?

如果是這樣,您將無法執行,因為沒有加載Page2。 改用WebMethod:

1)在Page2中創建一個公共靜態方法,執行Button1.Click回調的所有操作。

2)僅將對Button1_Click的調用替換為該靜態方法。

3)然后從您的Page1上的javascript可以調用PageMethods.YourMethodName

有效執行與Button1_Click相同的例程

編輯:

最終結果的外觀示例:

Page2.aspx.cs

protected void Button1_Click(object sender, EventArgs e)
{
    MyWebMethod();
}

[WebMethod]
public static void MyWebMethod ()
{
    //... Do something useful
}

Page1.aspx

<script>
    function callMyWebMethod(){
        PageMethods.MyWebMethod(function(){ // success callback}, function(){ // error callback});
    }
</script>

為了使頁面方法起作用,您需要頁面上的ScriptManager的EnablePageMethods = True。

暫無
暫無

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

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