Gridview中有一列都是链接,点击它弹出该行的行号,用javascript如何做到? 请大虾帮忙。
解决方案 »
- 在验证控件中,如何用正则表达式检测只能输入不为0.00的数字?
- 十万火急:如何在html文件中导入inc文件的html标记??
- 十分简单的问题,大家帮帮忙,在线等中~~~~~~~~
- gridview行分割线怎么设置
- 大家遇到过msdn运行就出错,无法解决的问题吗?
- 请goody9807() 和 The123(在我地盤這 伱就得聽我的) 来领分
- 请大家给一个页面继承的例子
- 在线等待:automation服务器不能创建对象!!!
- 请教问题 ???
- 请问.Net环境里run project,如何快速进入debug模式?
- ajax二级联动问题,二级没有显示
- Model做datasource,数据源的类型无效。它必须是 IListSource、IEnumerable 或 IDataSource
,别忘了加if(e.Row.RowType==DataControlRowType.DataRow)
e.Row.Attributes.Add("OnClick","SelectRow(" + e.Row.RowIndex + ")");
前台:
function SelectRow(Index)
{
alert(index);
}
btnEdite.Attributes.Add("OnClick","SelectRow(" + e.Row.RowIndex + ")"); 其他的按2楼就行了
我在想是不是搞个hashtable,在DataBound方法里把行号跟值存入,再在前台javaScript中根据行号取出值。
不过又不知道如何在前台去取得后台的hashtable的对象。
总之最终目的是用javascript取得gridview行的某个隐藏模版列的值,请大虾帮忙,成了就给分,谢谢
然后再 RowDataBound 的时候 Lable lable= (Lable)e.Row.FindControl("lable");
然后 lable.text就是你隐藏的值了
然后
Button btnEdite = (Button)e.Row.FindControl("btn_Edit"); 超链接就转换成超链接
btnEdite.Attributes.Add("OnClick","SelectRow(" +lable.text+ ")");
页面前台的JS 参数就是这个值了。
谢谢,请问如何把那个隐藏的模板列的转化为lable?
以下就是那个隐藏的模板列:
<asp:TemplateField HeaderText="INS_NO" Visible="false">
<Edititemtemplate>
<asp:TextBox id="txtINS_NO" runat="server" Text='<%# Bind("INS_NO") %>' Class="readonlyColumn" tabIndex=-1 style="width:160px;"></asp:TextBox>
</Edititemtemplate>
<itemstyle horizontalalign="Left" cssclass="column"/>
<Itemtemplate>
<asp:Label id="lblINS_NO" runat="server" Text='<%# Bind("INS_NO") %>'></asp:Label>
</Itemtemplate>
</asp:TemplateField>
这个控件的值 那么直接 Lable lable= (Lable)e.Row.FindControl("lblINS_NO"); 就可以了 你具体的gridview我也不知道什么需求
如果你要一个隐藏的值得 那么你就在这个模板列里面加一个 hidfiled也行 反正模板里面什么控件都能加 什么值都能取到的
基本上GirdView里有的功能它也都有,不过有些功能被禁止了。
比如刚才的btnEdite.Attributes.Add("OnClick","SelectRow(" +lable.text+ ")");就不让用,
只能在前台用onClientClick="SelectRow(...)",所以现在有点郁闷,
只能在后台得DataBound里把该页的行号和那个隐藏模版列的值存进数组或hashTable等,再在前台根据行号取得值了。
才疏学浅,我是连这个都不大会,准备上网查,真不好意思,呵呵。如果有那位大虾知道用这种方法怎么实现的话,简单贴点关键代码,谢谢。