如何使用 gridview 内的 LinkBut​​ton 删除代码隐藏文件中选定的用户名?

2023-12-19

我的“JobPost.mdf”中有一个“UserDetail”表。 我有一个“Gridview1”,显示“UserDetail”表中的列,该表具有主键“UserName”。 这个“UserName”最初是使用Membership类函数保存的。 现在我向 GridView1 添加一个“删除”链接按钮。这个“删除”不是自动生成按钮,我从工具箱拖到列项目模板内。 GridView1 的列现在变为“Delete_LinkBut​​ton”+“UserName”(在 UserDetail 表中)+“City”(在 UserDetail 表中)+“IsAdmin”(在 UserDetail 表中)

我需要的是,通过单击这个“delete_linkBut​​ton”,它只会从“UserDetail”表中删除同一行上的整个用户实体(由相应的“UserName”链接),以及从AspNetDB中删除所有信息。 mdf(用户、成员资格、UserInRole 等)。

我想启动用户确认,但不是强制性的。至少我正在努力让它以正确的方式发挥作用。

for example:

Command     UserName    City           IsAdmin
delete           ken       Los Angles          TRUE
delete           jim        Toronto        FALSE

当我单击第一行上的“删除”时,我需要删除“UserDetail”表中有关“ken”的所有记录。同时,AspNetDB.mdf中所有有关“ken”的记录都将消失,包括UserinRole表。

我是asp.net新手,所以我不知道如何将“Delete_LinkBut​​ton”的命令参数传递给代码隐藏文件LinkBut​​ton1_Click(object sender, EventArgs e),因为我需要一个额外的参数“UserName”。

我的部分代码如下:

<asp:TemplateField>
                 <ItemTemplate>
                     <asp:LinkButton ID="Delete_LinkButton" runat="server" onclick="LinkButton1_Click1" CommandArgument='<%# Eval("UserName","{0}") %>'>LinkButton</asp:LinkButton>
                 </ItemTemplate>
             </asp:TemplateField>


protected void Delete_LinkButton_Click(object sender, EventArgs e)
     {
      ((LinkButton) GridView1.FindControl("Delete_LinkButton")).Attributes.Add("onclick", "'return confirm('Are you sure you want to delete {0} '" + UserName);
      Membership.DeleteUser(UserName);
      JobPostDataContext db = new JobPostDataContext();
      var query = from u in db.UserDetails
                   where u.UserName == UserName
                   select u;
         for (var Item in query)
         {
              db.UserDetails.DeleteOnSubmit(Item);
         }
      db.SubmitChanges();


     }

请帮忙!


为了确认,您应该将脚本添加到OnClientClick链接按钮的属性:

<asp:LinkButton 
    ID="Delete_LinkButton" 
    runat="server" 
    onclick="LinkButton1_Click1" 
    CommandArgument='<%# Eval("UserName","{0}") %>'
    OnClientClick='if (!confirm("Are you sure you want to delete <%# Eval("UserName","{0}") %>?")) return false;'
>
    LinkButton
</asp:LinkButton>

该按钮的事件处理程序应该是:

protected void Delete_LinkButton_Click(object sender, EventArgs e)
{
    string userName = ((LinkButton)sender).CommandArgument.ToString();

    Membership.DeleteUser(UserName);
    JobPostDataContext db = new JobPostDataContext();

     foreach (var item in db.UserDetails.Where(u => u.UserName == userName))
          db.UserDetails.DeleteOnSubmit(Item);

    db.SubmitChanges();
}

The OnClientClick属性将您编写的 JavaScript 添加到渲染的 onclick 属性的开头<a/>标签。所以,如果用户没有确认删除,它将返回 false 并且不执行任何操作。否则,它将回发删除。

在事件处理程序中,sender始终是发起事件的控件。在这种情况下,LinkButton。所以,你可以将它投射到LinkButton并得到它的CommandArgument财产,其中UserName is.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 gridview 内的 LinkBut​​ton 删除代码隐藏文件中选定的用户名? 的相关文章

随机推荐

  • 防止网页抓取

    我目前是开发一个应用程序的团队的一员 该应用程序包括前端客户端 通过这个客户端 我们发送用户数据 每个用户都有一个用户 ID 客户端通过 RESTful API 与我们的服务器对话 向服务器请求数据 例如 假设我们有一个书籍数据库 用户可以
  • 将部分模式从 sed 传递到 shell

    我有一个文件 其中包含以下格式的行 w1 1 x w2 4 b w3 2 d 该行中的每个单词 标记 例如 w1 1 x 由 3 部分组成 第一个部分显示某个索引 本例中为 w1 第二个是整数 本例中为 1 第三个是一个字符 在本例中为 x
  • 使用背景颜色在 UIDatePicker 上设置角半径

    我有一个UIDatePicker在我看来 并设置了背景颜色UIDatePicker self datePicker backgroundColor UIColor lightTextColor self datePicker layer c
  • php:将 ntlm 凭据转发给curl

    我有一个动态 php 页面 我需要使用 get 参数来调用它 然后我想将生成的 html 放入一个字符串中并稍后使用它 我正在尝试用于 Web 服务的 tonic 框架 所以这类似于PHP 将动态生成 和回显 的 HTML 读取到字符串中
  • PHP 重定向与自定义标头

    我正在编写一个基本的授权系统 但我有点挣扎 涉及两个文件 index php and login php 登录表单非常简单 它在里面index php fieldset class right fieldset
  • 服务器控件如何违反 MVC 设计模式?

    我问的原因是 tvanfosson 对他对另一个问题的回答的 第一个 评论我的问题 https stackoverflow com questions 3689236 what are the key concepts to know wh
  • 相同的匿名结构是否兼容?

    考虑这个代码片段 include
  • github 是否允许预接收挂钩?

    GitHub 是否允许预接收或更新挂钩 我想要做的是防止主分支被推送到 即 master hotfix develop 并要求通过 GitHub 拉取请求合并它们 这是一个私人存储库 因此 GitHub 风格的分叉不是一个选择 任何有关如何
  • 从 BLOB mysql python 写入文件

    我正在尝试从数据库获取文件并将其写入磁盘 该文件存储为 BLOB 现在我有以下代码 usr bin python import MySQLdb db2 MySQLdb connect host localhost user root pas
  • Tensorflow ValueError:仅使用命名参数调用“sparse_softmax_cross_entropy_with_logits”(标签=...,logits=...,...)

    上述错误是由传统代码引起的 tf nn sigmoid cross entropy with logits self D logits tf ones like self D 使用 Tensorflow V1 0 或更高版本时会发生这种情况
  • 将一长逗号字符串拆分为多列新表

    我是 SQL 的犹太教徒 请原谅我的无知 我有一张名为 temp 的表 其中包含一个带有一个长逗号分隔字符串的字段 因此 Field1 Apples oranges pears berries melons 我想将上述内容插入到具有预定义列
  • 抑制生成的 C# 代码的警告

    我已经为我的 VS 项目打开了 将警告视为错误 这意味着我会收到缺少文档的错误 对于这个特定项目来说是一个很好的提醒 但是 部分代码是由自定义工具生成的 该工具不会插入 xml 文档 因此我希望仅忽略生成的代码 而不是整个项目 缺少的 xm
  • AttributeError:“模型”对象没有属性“predict_classes”

    我正在尝试使用预先训练和微调的深度学习模型来预测验证数据 该代码遵循 Keras 博客中 使用很少的数据构建图像分类模型 中提供的示例 这是代码 import numpy as np from keras preprocessing ima
  • 这是因为互斥量没有释放吗?

    我读过这个将我们的单线程服务器变成多线程服务器 https doc rust lang org book ch20 02 multithreaded html 并试图去实施它 我写了这个 use std sync mpsc channel
  • 如何 git tag 所有子模块?

    我想标记我的项目的所有子模块 我尝试这样做 git submodule foreach git tag tagName 但它似乎只是返回而没有错误 什么也没做 编辑 这是我尝试的结果 有人可以告诉我如何正确标记所有子模块吗 注意 这是一个非
  • 以小于帧大小的增量分页 UIScrollView

    我有一个滚动视图 其宽度与屏幕相同 但高度只有约 70 像素 它包含许多 50 x 50 的图标 周围有空间 我希望用户能够从中进行选择 但我总是希望滚动视图以分页方式运行 始终以图标停止在正中心 如果图标是屏幕的宽度 这不会成为问题 因为
  • Python 2 与 3 中的 Eval 范围

    我在 Python 3 中遇到了奇怪的 eval 行为 当在列表理解中调用 eval 时 不会拾取局部变量 def apply op x y z 0 5 0 25 0 75 op x y z return eval o for o in o
  • T-SQL DateDiff - 按“整小时前”分区,而不是“自 00 点后的分钟数”分区

    我有一个带有时间戳的表 我想将该表划分为一个小时的间隔 从现在开始向后几个小时 我无法使用 T SQL 获得所需的结果DATEDIFF http msdn microsoft com en us library ms189794 aspx函
  • 当文本设置为“归因”时,具有自定义字体的 UITextView 不起作用

    我有一个UITextView一些来自 rtf 的文本 直接粘贴到 Xcode 上 上下文仅包含一种自定义字体 Futura Book BT 11 0 如果我将 text attributed 属性设置为 plain 自定义字体从故事板和应用
  • 如何使用 gridview 内的 LinkBut​​ton 删除代码隐藏文件中选定的用户名?

    我的 JobPost mdf 中有一个 UserDetail 表 我有一个 Gridview1 显示 UserDetail 表中的列 该表具有主键 UserName 这个 UserName 最初是使用Membership类函数保存的 现在我