我动态生成GridView,然后里面动态生成linkButton,但是点击linkButton,onclick时间不响应,根本就没有执

我动态生成GridView,然后里面动态生成linkButton,但是点击linkButton,onclick时间不响应,根本就没有执,第1张

刚才我回答你了啊,题目被管理员删掉了我晕,最后一次了,再被删我也帮不了你了。

是GridView的RowCommand事件,而不是BUTTON的CLICK事件。前提你这个按钮是在GridView的模板里。

然后点击按钮后就直接会触发RowCommand事件,就是这样啊。

如果成功了,记得加点分啊,刚才我是看你悬赏了30财富值才回答的。:)

我估计你刚才追问的时候肯定粘帖了很多代码,所以提问被删除了,郁闷~~~30财富值就这么没了,我打的那么多字也没了:(

备注:你可以在RowCommand事件里加断点,然后点击按钮来测试下就行了。

看来你的截图我想问下,你为什么要在后台根据模板类型来添加啊,前台手动添加不就行了?

这么做是为什么啊。。。

在ASP.NET中 有一个页面回传的特性 你只需要去判断当前 *** 作是否是回传就好了

判断方式:if(!ispostback){

//这里面写的代码在回传的事后就不会执行了

}

后台程序就是这样,你需要将gridview绑定的函数独立出来 如gridbind()

在执行linkbutton click事件后再调用一次 gridbind()

你先单独看看是否取到了e.commandArgument

commandArgument 也是需要绑定的。在前台中 gridview是模板化的,并绑定commandArgument

你在后台才能取到他的值。

----------------------------------------------------------------------------------------------------------

Gridview 获取行号或者此行某一列的数据 跳转到各自不同的页面

位置:把一个linkbutton先转化成模板

<asp:TemplateField HeaderText="link" ShowHeader="False">

<ItemTemplate>

<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="false"

CommandName="button" Text="Button" CommandArgument='<%# Container.DataItemIndex %>'

onclick="LinkButton1_Click"></asp:LinkButton>

</ItemTemplate>

</asp:TemplateField>

在Gridview_RowCommand 或者 RowDataBound函数中 写入

int j = Convert.ToInt32(e.CommandArgument)

LinkButton lb = (LinkButton)GridView1.Rows[j].FindControl("LinkButton1")

if (j == 0)

lb.PostBackUrl = "login.aspx"

if (j == 1)

lb.PostBackUrl = "Register.aspx"

根据不同行号 点击linkbutton跳转到不同的页面


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11876840.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存