使用Javascript单击按钮

时间:2013-10-21 20:50:13

标签: c# javascript asp.net

我需要我的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" />

3 个答案:

答案 0 :(得分:2)

对你的问题有点困惑。

。如果按钮位于同一页面,那么您可以使用

进行后退
 __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 = "";
        }
    }

答案 1 :(得分:1)

JQuery允许您非常轻松地完成此任务。

如果您将JQuery导入项目,然后执行此操作:

    $('buttonIdHere').click();

那应该能满足你的需求。

答案 2 :(得分:0)

假设您的按钮的ID是Button1并且您想要进行回发,请在您的javascript中使用:

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

刚刚注意到&#34; JavaScript文件从另一个页面点击了一个asp按钮&#34;。你是什​​么意思从另一页?你有page1.aspx上有javascript并试图调用page2.aspx的按钮1?

如果是这样的话,你将无法加载,因为没有加载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>

为了使页面方法有效,您需要在页面上使用EnablePageMethods = True的ScriptManager。