柒柒要吃饱 2022-02-17 22:08 采纳率: 75%
浏览 47
已结题

点击LinkButton如何实现”置顶“和”取消置顶“的切换

img


后端点击方法显示LinkButton1不存在。Text也取不到

  • 写回答

4条回答 默认 最新

  • CSDN专家-showbo 2022-02-18 10:43
    关注

    题主用的什么控件?
    Repeater,GridView还是DataGrid?文字切换一般是在服务器端读取数据库判断记录状态进行文字内容切换的。示例如下

    img

     <%@ Page Language="C#" AutoEventWireup="true"%>
    <%@ Import Namespace="System.Data" %>
    <script runat="server">
        static   DataTable dt=null;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (dt==null)
            {
                dt = new DataTable();
                //测试数据,注意改为读取数据库
                dt.Columns.Add("id");
                dt.Columns.Add("settop");
                dt.Rows.Add("1", "1");
                dt.Rows.Add("2", "0");
                dt.Rows.Add("3", "1");
                dt.Rows.Add("4", "1");
                dt.Rows.Add("5", "0");
                //测试数据
                gv1.DataSource = dt;
                gv1.DataBind();
    
            }
    
        }
    
        protected void SetTop_Click(object sender, EventArgs e)
        {
            var linkbtn = (LinkButton)sender;
            var id = linkbtn.CommandName;
            //根据id更新数据库记录,然后更新按钮文字
    
            foreach (DataRow dr in dt.Rows)
                if (dr[0].ToString() == id)
                {
                    dr[1] = dr[1].ToString() == "1" ? "0" : "1";
                    linkbtn.Text = dr[1].ToString()=="1"?"取消置顶":"置顶";
    
                    break;
                }
    
        }
    </script>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>测试</title>
    </head>
    <body><form runat="server">
        <asp:GridView runat="server" ID="gv1" AutoGenerateColumns="false">
            <Columns>
                <asp:TemplateField HeaderText="操作">
                   <ItemTemplate>
                       <asp:LinkButton runat="server" OnClick="SetTop_Click" CommandName='<%#Eval("id") %>'><%#Eval("settop").ToString()=="1"?"取消置顶":"置顶" %></asp:LinkButton>
                   </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView></form>
    </body>
    </html>
     
    
    

    img


    有其他问题可以继续交流~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月26日
  • 已采纳回答 2月18日
  • 修改了问题 2月17日
  • 创建了问题 2月17日

悬赏问题

  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题