• C#aspx页面和aspx.cs页面之间的数据交互(记录篇)轉載


    一、读取aspx页面请求中的参数 (本段转载自https://blog.csdn.net/u011966339/article/details/53993013)

    当在浏览器地址栏中输入一个网址,例如输入网址http://www.huiyaosoft.com/news.aspx?id=1,这个请求将由服务器上名为demo.aspx的asp.net页面处理。打开demo.aspx.cs文件,在Page_Load()方法中加入以下代码,其中行1的目的是先判断参数中是否存在id,如果存在再读取它的值。
    1. if(Request.QueryString["id"]!=null)
    2. string id = Request.QueryString["id"]
    通过demo.aspx?id=1这种方式传递参数的方式称之为Get方式,与之对应的是Post方式,即通过form表达提交,如下所示:
    1. <form name="frmPagesEdit" id="frmPagesEdit"
    2. action="../ajaxedemo.ashx" method="post">
    此时,不能通过Request.QueryString[]获得值,而需通过Request.Form[]获得值。

    如果不清楚页面传递了哪些参数,可通过foreach遍历方式读取所有参数,然后再分析。

    下面的代码演示了读取所有QueryString中的参数:
    1. foreach (string s in Request.Form)
    2. {
    3. Response.Write(string.Format("form,name:{0},value:{1}", s, Request.Form[s]));
    4. }
    下面的代码演示了读取所有Form中的参数:
    1. foreach (string s in Request.QueryString)
    2. {
    3. Response.Write(string.Format("QueryString,name:{0},value:{1}", s, Request.QueryString[s]));
    4. }

    二、aspx页面获取aspx.cs中的参数

    1、.aspx.cs页面(这里模拟从上一个页面传入参数,然后根据条件去后台查询到数据后返回aspx页面)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Converters;
    using System.Data.SqlClient;

    public partial class AQGL_jcb_jcxmList : System.Web.UI.Page
    {
    private SqlConnection conn = new SqlConnection(SQLConfig.SqlconString);
    public string jsonObj = "";
    public string jId = "0";
    public string jType = "0";
    protected void Page_Load(object sender, EventArgs e)
    {
    if(Request.QueryString["jId"]!=null)
    jId = Request.QueryString["jId"];
    if (Request.QueryString["jType"] != null)
    jType = Request.QueryString["jType"];

    conn.Open();
    //获取
    DataTable dt = new DataTable();
    SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM TABLE_J WHERE state = 0 AND jId=" + jId + " AND jType = " + jType + " ORDER BY id DESC", conn);
    sda.Fill(dt);
    jsonObj = JsonConvert.SerializeObject(dt, new DataTableConverter()); //结果直接转json
    sda.Dispose();

    if (conn.State == ConnectionState.Open) { conn.Close(); }
    }
    }
    其中SQLConfig是配置链接数据库的文件,放在App_Code文件夹下,每个人配置不一样,无需参考下面的方式,这里只做个人记录

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;

    /// <summary>
    ///SQLConfig 的摘要说明
    /// </summary>
    public class SQLConfig
    {
    private static string SqlDatabaseName = "XXX"; //SQL数据库名
    private static string SqlUsername = "XX"; //SQL数据库用户名
    private static string SqlPassword = "XX"; //SQL数据库用户密码
    private static string SqlLocalName = "(local)\\SQLSERVEREXPRESS"; //SQL主机IP地址(本地可用“127.0.0.1”或“(local)”,非本机请用真实IP)
    public static string SqlconString = "Server=" + SqlLocalName + ";" +
    "DataBase=" + SqlDatabaseName + ";" +
    "uid=" + SqlUsername + ";" +
    "Pwd=" + SqlPassword + ";" +
    "Pooling=true;Max Pool Size=40000;Min Pool Size=0";
    }
    2、.aspx页面

    <script type="text/javascript">
    var objList=<%= jsonObj%>;//这个就是数据库返回的数据集合
    var jId =<%= jId%>;
    var jType =<%= jType%>;

    </script>

    三、C#前台js里面使用ajax调用后台aspx.cs方法(原文链接:https://blog.csdn.net/zl_shitou/article/details/79279505)

    1、前台js
    引入jq文件 <script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
    <script type="text/javascript">
    window.onload = function(){
    $.ajax({
    type: "Post",//要用post方式
    url: "comment.aspx/show",//方法所在页面和方法名
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: "{'aaa':'" + inputText + "'}",//aaa是方法show()的入参
    success: function (data) {
    alert(data.d);//返回的数据用data.d获取内容
    },
    error: function (err) {
    alert(err);
    }
    });
    }
    </script>


    2、后台comment.aspx.cs
    [WebMethod] //一定要加该标识,才能从客户端调用该方法。引用命名空间 using System.Web.Services;
    public static string show(string aaa) //必须是公共的静态方法 static
    {
    return aaa;
    }
    ————————————————
    版权声明:本文为CSDN博主「星旅zl」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/nzzl54/article/details/89925067

  • 相关阅读:
    记Spring搭建功能完整的个人博客「Oyster」全过程[其二] Idea中Maven+SpringBoot多模块项目开发的设计和各种坑(模块间依赖和打包问题)
    记Spring搭建功能完整的个人博客「Oyster」全过程[其一] 整体思路:需求、架构及技术要求
    [总结-动态规划]经典DP状态设定和转移方程
    HDU-6217 BBP Formula 脑洞
    UVA-11426 GCD
    UVA-11806 Cheerleaders 计数问题 容斥定理
    CodeForces-546D Soldier and Number Game 筛法+动态规划
    CodeForces-148D Bag of mice 概率dp
    Gym-101615D Rainbow Roads 树的DFS序 差分数组
    AVL树 算法思想与代码实现
  • 原文地址:https://www.cnblogs.com/bedfly/p/16347003.html
Copyright © 2020-2023  润新知