asp.net它自动运行我的c#方法

时间:2014-06-05 12:49:58

标签: c# javascript asp.net

当我启动我的asp页面时,自动执行后面的代码中的方法,我不希望这样。

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    public string ConvertDataTabletoString()
    {        
          //this method executes automatically
    }

我希望在按下html按钮

时运行方法ConvertDataTabletoString()

离。

<!-- language-all: lang-html -->

Button OnClick="function()">Boton</Button

语言:lang-js

<script>

    function function1()
    {
         cars = JSON.parse(ConvertDataTabletoString());
    }

</script>

3 个答案:

答案 0 :(得分:1)

在页面上添加以下HTML:

<asp:ScriptManager ID='ScriptManager1' runat='server' EnablePageMethods='true' />
<asp:Button ID=”btnSave” runat=”server” Text=”Save” OnClientClick=”return CodeBehindMethodCall();” />

现在是时候调整我们的代码,以便我们可以从JavaScript调用它,我们需要使用System.Web.Services所以将它添加到我们的代码隐藏文件

using System.Web.Services;

无论我们需要从JavaScript调用什么方法,都要将 WebMethodattribute 添加到该方法,并且可以通过javaScript轻松调用

[WebMethod]
public String ConvertDataTabletoString()
{
    // your code 
}

现在我们从JavaScript调用ConvertDataTabletoString ,因此将以下JavaScript添加到页面中:

function CodeBehindMethodCall()
{
    pageName.ConvertDataTabletoString();
}

正如您所看到的,我们没有使用Web服务,但是我们将方法更改为Web方法,因此可以从JavaScript调用它,但是如果不将方法转换为Web方法,我们就无法从JavaScript调用任何代码隐藏方法。

这是它的完成方式。

答案 1 :(得分:0)

你可以使用以下的分期付款代码

 <asp:Button ID="btnLogin" runat="server" Text="Log in" onclick="btnLogin_Click"/>

以及您的代码

     protected void btnLogin_Click(object sender, EventArgs e)
        {
            ConvertDataTabletoString();
        }

答案 2 :(得分:0)