柒柒要吃饱 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 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line