asp. net 前台调用后台的一个方法,点击按扭时如何调用呢,调用如下方法

void test()
{
char[] constant = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
StringBuilder ascii = new StringBuilder();

        Random random = new Random();

        for (int i = 0; i < 6; i++)
        {

            ascii.Append(constant[random.Next(10)]);
        }
        lblErro.Text = ascii.ToString();
    }

ajax来调用,增加特殊参数已区分出是ajax,pageLoad判断下是ajax就执行你的test输出内容

 <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.min.js"></script>
<div id="dv"></div>
<input type="button" onclick="runTest()" value="点击运行服务器端Test方法" />
<script>
    function runTest() {
        $.ajax({ url: 'xxxxxxx.aspx?ajax=1', cache: false, success: function (text) {
            $('#dv').html(text);//将返回值放入dv对象中
        }, error: function (xhr) { alert('动态页有问题\n' + xhr.responseText); }
        });
    }
</script>

xxxxxxx.aspx

 protected void Page_Load(object sender,EventArgs)
{
  if(Request.QueryString["ajax"]=="1")test();
}

void test()
{
    char[] constant = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
     StringBuilder ascii = new StringBuilder();

        Random random = new Random();

        for (int i = 0; i < 6; i++)
        {

            ascii.Append(constant[random.Next(10)]);
        }
        Response.Write(ascii.ToString());////////////////////ajax请求你动态设置服务器端标签无效
        Response.End();
    }

最简单的是放一个服务器的按钮(asp:button)到页面上,双击,编写click代码,调用 test。

    void test()
    {
        char[] constant = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
        StringBuilder ascii = new StringBuilder();
        Random random = new Random();

        for (int i = 0; i < 6; i++)
        {

            ascii.Append(constant[random.Next(10)]);
        } 
        lblErro.Text = ascii.ToString();
    }

    protected void btn(object sender, EventArgs e)
    {
        test();
    }

    <asp:Button Text="text" runat="server" OnClick="btn_Click" />

你这个写法注定你是要通过页面postback的时候通过事件来访问,如果ajax的话,不可能执行lblErro.Text = ascii.ToString();