c# - 在 ASP.NET 中使用超链接编辑 gridview 中的行

标签 c# asp.net sql-server visual-studio gridview

我有一个显示产品实例信息的 GridView ;我的操作列中需要一个超链接来调出显示行数据的查看/编辑页面。如何让链接将特定行的数据显示到编辑页面?

注意:还有其他类似标题的问题,但是,它们不涉及这个特定主题。

最佳答案

在 gridview 中使用 datakeys,使用 datakey 会得到每个被点击的超链接的 id,然后你可以使用那个 id 轻松地编辑或删除选中的项目。在后面的代码中找到超链接控件,传递数据 key 并为其编写d update sql。为了将您的数据移动到您可以 session 的其他页面,但如果您正在开发商业网站 session ,由于其安全问题,这不是一个好主意,在这种情况下使用 cookie。

 protected void Page_Load(object sender, EventArgs e)
{   
    if (!Page.IsPostBack)
    {
        if (Request.QueryString["productID"] != null)
        {
            productID = Convert.ToInt32(Request.QueryString["productID"]);
            bindData(productID)
        }
        ...
    }
 }
   protected void bindData(int productID)
    {
     //to avoid sql injection as mentioned below use parameters 
      SqlConnection conn = new SqlConnection(ConnectionString); // define connection string globally or in your business logic
      conn.Open();
      SqlCommand sql = new SqlCommand("Select * From [Table] Where ID = @productID",conn);
      SqlParameter parameter = new SqlParameter();
      parameter.ParameterName = "@ID";
   parameter.Value = productID;
       sql.Parameters.Add(parameter);
       conn.close()
  }

你也可以使用 Microsoft.ApplicationBlocks.Data.dll 来避免重复 ado.net ,它会减少你的代码。

关于c# - 在 ASP.NET 中使用超链接编辑 gridview 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5671084/

相关文章:

c# - Javascript 和必填字段验证器

sql-server - 如何搭建SQL Server存储过程的开发环境?

sql-server - ZIP 文件在 SSIS 中不起作用(服务器级别问题?)

c# - 将组合框绑定(bind)到 2 个数据源 : Table & Enum

c# - 安卓手机无法安装unity游戏

c# - 由于 commandTimeout 不够健壮,如何使用 Dapper 在 C# 中获得可靠的阻塞/缓慢数据库操作超时?

.net - 是否有 SQL Server 查询通知的可扩展替代方案用于从 SQL Server 引发应用程序中的事件?

c# - 当前上下文中不存在名称 'inputLength'

javascript - 使用 jQuery 获取下一个节点的值

asp.net - 针对自主机 Web API Windows 服务验证 HTTP .NET 客户端