转换c#按钮点击脚本

时间:2013-08-02 15:35:40

标签: c# javascript jquery-ui button

任何人都可以帮我将这个C#代码转换成脚本吗?

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

protected void Button1_Click(object sender, EventArgs e)
    {
        Session["ctrl"] = Panel1;
        ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script language=javascript>window.open('Print.aspx','PrintMe','height=300px,width=300px,scrollbars=1');</script>");
    }

3 个答案:

答案 0 :(得分:1)

如果你只是想让它成为正常的html / javascript,它只是一个按钮的onclick事件。但是,通过将其更改为javascript,您将丢失会话变量“ctrl”的集合。这可能会被应用程序的其他部分使用。如果您不关心它,那么您只需更改为常规html按钮即可。如果您关心会话变量,那么您必须使用服务器端代码(如c#)来设置会话变量,例如您在上面发布的c#代码。

我会把它读作:

<input type="button" id="button1" name="button1" value="Button" onclick="javascript:window.open('Print.aspx','PrintMe','height=300px,width=300px,scrollbars=1');" />

如果你想整理你的html代码,你也可以将click事件包装成一个函数。

如果您不喜欢按钮中的javascript,您可以随时使用javascript绑定onclick。

例如,如果你有jquery库,你可以这样做:

$(document).ready(function() {
      $("#button1").on("click","window.open('Print.aspx','PrintMe','height=300px,width=300px,scrollbars=1'));
});

答案 1 :(得分:1)

在aspx页面中创建一个方法

<script type="text/javascript">
    function openPopUp()
    {
    window.open('Print.aspx','PrintMe','height=300px,width=300px,scrollbars=1');
    }
</script>

然后你按下按钮

<asp:Button ... onClientClick="openPopUp() onClick="btnClick"/>

您可以同时拥有客户端事件和服务器端事件。

protected void btnClick(object sender, EventArgs e)
    {
        Session["ctrl"] = Panel1;
    }

答案 2 :(得分:1)

您可以使用<%=Button1.ClientID%>

获取Html DOM ID

使用jQuery你会得到:

$(function() {
    $("#<%=Button1.ClientID%>").click(function() {
        window.open(...)
    });
});

当然,也许你不想使用服务器控件并保持客户端的按钮和行为。

<input type='button' value='Button' id='Button1' />

然后使用与上面相同的结构:$("Button1").click(...)