• 不用AJAX实现前台JS调用后台C#方法


    纯属小技巧,高手见笑了。

    一提到如何在前台JS调用后台C#方法,AJAX成为了必然的想法。
    只是实现的细节采用AJAX 1.0或者AjaxPro的区别。
    其实如果不用AJAX,我们也能够很方便地利用JS调用后台方法。

    步骤如下:
    1 前台放一个按钮。设置为隐藏。注意:不能直接设置Visible=false的方式,这样的话在ASP.Net 2.0编译后的代码里是找不到这个按钮的。需要设置风格:style="display:none;"
    2 双击按钮,写入C#方法,或者写一个调用后台其他方法的代码段
    3 前台JS调用的时候,照如下写,这样可以模拟按钮的点击事件,触发后台方法:
    document.getElementById("Button2").click();

    示例
    ASP.Net页:

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        
    <title>Untitled Page</title>

        
    <script>
        
    function go()
        
    {
            document.getElementById(
    "Button2").click();
        }

        
    </script>

    </head>
    <body>
        
    <form id="form1" runat="server">
            
    <div>
                
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                
    <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="go();return false;" />
                
    <asp:Button ID="Button2" runat="server" Text="Button" OnClick="Button2_Click" Style="display: none;" />
            
    </div>
        
    </form>
    </body>
    </html>

    后台C#:

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Text;

    public partial class _Default : System.Web.UI.Page 
    {
        
    protected void Page_Load(object sender, EventArgs e)
        
    {

           
        }


        
    protected void Button2_Click(object sender, EventArgs e)
        
    {
            
    this.SayHello();
        }


        
    private void SayHello()
        
    {
            
    this.TextBox1.Text = "Hello,Tom!";
        }

    }

    本文转自:http://www.cnblogs.com/heekui/archive/2007/04/01/695636.html (web.网际浪人.Blog)

  • 相关阅读:
    CVE-2020-5405 Spring Cloud Config 目录穿越漏洞分析
    CVE-2019-3799spring-cloud-config 目录穿越漏洞复现
    fastjson<=1.2.68的漏洞分析
    【转载】半自动化挖掘request实现多种中间件回显
    整理一下weblogic回显的代码
    CentOS7在python交互模式下输入退回键时出现乱码^H^H
    1 单例设计模式
    用nohup命令实现PHP的多进程
    用进程和线程关系引入操作系统学习
    8.5 归并排序
  • 原文地址:https://www.cnblogs.com/ericgisser/p/net_JsCallCs.html
Copyright © 2020-2023  润新知