我们可以不使用查询字符串这样做,请提供代码... [英] can we do this without using querystring,,,please provide me code...

查看:70
本文介绍了我们可以不使用查询字符串这样做,请提供代码...的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们可以在不使用查询字符串的情况下执行此操作,请向我提供代码... 





editpage.aspx.cs



 使用系统; 
使用 System.Collections.Generic;
使用 System.Linq;
使用 System.Web;
使用 System.Web.UI;
使用 System.Web.UI.WebControls;
使用 System.Data.SqlClient;
使用 System.Data;
使用 System.Configuration;

命名空间 WebApplication1
{
public partial class editpage:System.Web.UI.Page
{
SqlConnection conn = < span class =code-keyword> new SqlConnection( @ 数据源= SRAVI-PC \ SQLEXPRESS;初始目录= testdb;集成安全性=真);
受保护 void Page_Load( object 发件人,EventArgs E)
{
<跨度类= 代码关键字>如果(的IsPostBack)
{
BindDetails()!;
}
}
私有 void BindDetails()
{
lblid.Text = Request.QueryString [ Id];
// txtid.Text = Request.QueryString [Id];
txtfname.Text = Request.QueryString [ FirstName];
txtlname.Text = Request.QueryString [ LastName];
}

受保护 void btnsave_Click(对象发件人,EventArgs E)
{
<跨度类= 代码关键字> INT ID1 = Convert.ToInt32(lblid.Text);
// int id = Convert.ToInt32(txtid.Text);
string fna = txtfname.Text;
string lna = txtlname.Text;
string cmd = update namestb set FirstName =' + fna + ',LastName =' + lna + '其中Id = + id1;
SqlCommand command = new SqlCommand(cmd,conn);
conn.Open();
command.ExecuteNonQuery();
conn.Close();
Response.Redirect( displaypage.aspx);
}

<跨度类= 代码关键字>保护 <跨度类= 代码关键字>空隙 btncancel_Click(<跨度类= code-keyword> object
sender,EventArgs e)
{
Response.Redirect( displaypage.aspx);
}
}
}





display.aspx.cs

 使用系统; 
使用 System.Collections.Generic;
使用 System.Linq;
使用 System.Web;
使用 System.Web.UI;
使用 System.Web.UI.WebControls;
使用 System.Data;
使用 System.Data.SqlClient;

命名空间 WebApplication1
{
public partial class displaypage:System.Web.UI.Page
{
SqlConnection conn = < span class =code-keyword> new SqlConnection( @ 数据源= SRAVI-PC \ SQLEXPRESS;初始目录= testdb;集成安全性=真);
受保护 void Page_Load( object sender,EventArgs e)
{
getdata();
}
public void getdata()
{
string cmd = select * from namestb;
SqlDataAdapter da = new SqlDataAdapter(cmd,conn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds.Tables [ 0 ];
GridView1.DataBind();
}

受保护 void 编辑( object sender,CommandEventArgs z)
{
if (z.CommandName == edit
{
int id = Convert.ToInt32(z.CommandArgument);
SqlDataAdapter的DA = <跨度类= 代码关键字>新 SqlDataAdapter的(<跨度类= 代码串> <跨度类= 代码串>选择*来自namestb,其中Id =
+ id,conn);
DataSet ds = new DataSet();
da.Fill(ds, namestb);
DataTable dt = new DataTable();
dt = ds.Tables [ 0 ];
int Id = Convert.ToInt16(dt.Rows [ 0 ] [ Id]);
string FirstName = Convert.ToString(dt.Rows [ 0 ] [ FirstName]);
string LastName = Convert.ToString(dt.Rows [ 0 ] [ LastName]);
Response.Redirect( editpage.aspx?Id = + Id + & FirstName = + FirstName + < span class =code-string>& LastName = + LastName);

}
}
}
}

解决方案
是 - 通过Cookie或会话转移细节。



但请不要这样做!不要连接字符串以构建SQL命令。它让您对意外或故意的SQL注入攻击持开放态度,这可能会破坏您的整个数据库。请改用参数化查询。


can we do this without using querystring,,,please provide me code...



editpage.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;

namespace WebApplication1
{
    public partial class editpage : System.Web.UI.Page
    {
        SqlConnection conn = new SqlConnection(@"Data Source=SRAVI-PC\SQLEXPRESS;Initial Catalog=testdb;Integrated Security=True");
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindDetails();
            }
        }
        private void BindDetails()
        {
            lblid.Text = Request.QueryString["Id"];
//            txtid.Text = Request.QueryString["Id"];
            txtfname.Text = Request.QueryString["FirstName"];
            txtlname.Text = Request.QueryString["LastName"];
        }
        
        protected void btnsave_Click(object sender, EventArgs e)
        {
            int id1 = Convert.ToInt32(lblid.Text);
//            int id = Convert.ToInt32(txtid.Text);
            string fna = txtfname.Text;
            string lna = txtlname.Text;
            string cmd = "update namestb set FirstName='" + fna + "',LastName='"+lna+"'where Id="+id1;
            SqlCommand command = new SqlCommand(cmd, conn);
            conn.Open();
            command.ExecuteNonQuery();
            conn.Close();
            Response.Redirect("displaypage.aspx");
        }

        protected void btncancel_Click(object sender, EventArgs e)
        {
            Response.Redirect("displaypage.aspx");
        }
    }
}



display.aspx.cs

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 System.Data.SqlClient;

namespace WebApplication1
{
    public partial class displaypage : System.Web.UI.Page
    {
        SqlConnection conn = new SqlConnection(@"Data Source=SRAVI-PC\SQLEXPRESS;Initial Catalog=testdb;Integrated Security=True");
        protected void Page_Load(object sender, EventArgs e)
        {
            getdata();
        }
        public void getdata()
        {
            string cmd = "select * from namestb";
            SqlDataAdapter da = new SqlDataAdapter(cmd, conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            GridView1.DataSource = ds.Tables[0];
            GridView1.DataBind();
        }

        protected void edit(object sender,CommandEventArgs z)
        {
            if (z.CommandName == "edit")
            {
                int id = Convert.ToInt32(z.CommandArgument);
                SqlDataAdapter da = new SqlDataAdapter("select * from namestb where Id=" + id, conn);
                DataSet ds = new DataSet();
                da.Fill(ds, "namestb");
                DataTable dt = new DataTable();
                dt = ds.Tables[0];
                int Id = Convert.ToInt16(dt.Rows[0]["Id"]);
                string FirstName = Convert.ToString(dt.Rows[0]["FirstName"]);
                string LastName = Convert.ToString(dt.Rows[0]["LastName"]);
                Response.Redirect("editpage.aspx?Id=" + Id + "&FirstName=" + FirstName + "&LastName=" + LastName);

            }
        }
    }
}

解决方案

Yes - transfer the details via either Cookies or the Session instead.

But please, don't do it like that! Do not concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Use Parametrized queries instead.


这篇关于我们可以不使用查询字符串这样做,请提供代码...的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆