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.    
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;

/// 
///SQLConfig 的摘要说明
/// 
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页面

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

1、前台js             
引入jq文件 
 


2、后台comment.aspx.cs
  [WebMethod] //一定要加该标识,才能从客户端调用该方法。引用命名空间 using System.Web.Services;
  public static string show(string aaa)   //必须是公共的静态方法 static
        {
            return aaa;
        }

你可能感兴趣的:(C#技术)