Datalist里使用Button如何选取某一行,怎么取某一列的Text

5 篇文章 1 订阅
1 篇文章 0 订阅

环境:vs2019 里的Net.asp开发

情况1

:我做的是考试系统里面的一个考试发布界面在这里插入图片描述
用的是Datalist

预期结果

:点击第1行的发布就读取第一行的试卷编号,然后发布。点击第2行的发布就读取第2行的试卷编号,然后发布。

实际结果

:点击发布是没反应的,原因是onclick在Datalist的情景下无法判断是哪一行的button(你写代码的时候只写了一个button)

解决方法


这时候我们在.ASP文件里,给Datalist加一个OnItemCommand=“DataList1_ItemCommand”;
给button加上一个属性CommandName=“名字_1”,还有一个属性CommandArgument=’<%#Eval(“试卷编号”) %>’,当然这些操作之前你要先完成数据绑定。

最后,我再用Session[“试卷编号_发布”]实现页面之间的数据传递

在.cs文件里添加一个方法

      protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
        {
            if (e.CommandName == "名字_1")//此处判断响应的组件是不是按钮
            {
                 Session["试卷编号_发布"] = 		e.CommandArgument.ToString();//此处将你所点击按钮的那一行的数据保存起来。
                        //跳转至选择员工界面进行发布
                        Response.Redirect("发布考试_选择员工.aspx");
            }
        }

历程

:想了一个晚上都找不到办法,问了老师老师直接让我去实验室找那的
同学帮我解答,我一想这哪里好意思啊,万一很简单我不是尴尬死,我就说,课本上一定有,我就找datalist,datalist里面没有command相关的,我就去翻buttom这一页的,发现还有个CommanArgument也可以传递参数。现在我做的Datalist里每一行结尾都有一个button,我就想能不能每一行的button里的CommanArgument给它弄一个本行的变量,例如’<%#Eval(“试卷编号”) %>’,如果可以那不就可以用来传递一行的数据啦?试试看果然可以。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值