ASP.NET WebForms(C#)中GridView的LinkButton如何向OnClick事件传递CommandName
当然可以实现这个需求!其实不用依赖GridView的RowCommand事件,直接在LinkButton的OnClick事件处理方法里,就能轻松拿到它的CommandName值。
具体实现方法
触发OnClick事件的sender参数,本质就是你点击的那个LinkButton控件实例。所以只需要把它转换为LinkButton类型,就能直接访问它的CommandName和CommandArgument属性了。
后台代码示例:
protected void OpenModal(object sender, EventArgs e) { // 将sender转换为LinkButton对象 LinkButton targetBtn = sender as LinkButton; // 做个空值判断,避免转换失败出现异常 if (targetBtn != null) { // 获取CommandName string commandName = targetBtn.CommandName; // 同时也能拿到绑定的CommandArgument string customerId = targetBtn.CommandArgument; // 接下来就可以根据需求使用这些值了 if (commandName == "PassThisName") { // 这里写你的业务逻辑,比如打开模态框、处理下载等 } } }
为什么这个方法可行?
LinkButton的OnClick事件是控件自身的事件,触发时会把自身作为sender传递给事件处理方法。相比GridView的RowCommand(需要通过事件参数e.CommandName获取),这种方式更直接,完全不需要依赖父容器GridView的事件。
内容的提问来源于stack exchange,提问作者Shane
相关产品推荐
相关产品推荐

