datagrid中(的一行)有一个dropdownlist和一个textbox,现在要在dropdownlist改变的时候修改textbox的值,并且是在客户端处理。这个应该怎么处理???
解决方案 »
- 如何做出百度地图搜索框下边的tab
- VS2010没有SVN的功能
- 简单问题。。。
- for跟foreach的区别
- ASP.NET(C#)中我为GridView做了一个导出EXCEL动作,但老是有错,高手们帮帮看看,给高分啊!80
- datatable邦定问题求救
- 为什么不能显示汉字?用的是ASP.NET(C#)!
- 给分50,TreeView,怎么项目移植后就不能正确显示了??在线等
- 在win2003下如何用.net框架1.0下执行WEB程序
- 来者有分,想用asp.net搞个类似网上文件夹(硬盘)的东西,给点思路
- 求代码, DropDownList 绑定DATAGRID 当按下下拉框在下面弹出一个DATAGRID?谢谢
- 绑定的问题
<asp:DropDownList ID="dep" Runat="server"></asp:DropDownList>
<asp:TextBox ID="txt" Runat="server"></asp:TextBox>
在ItemDataBound事件中这么写
((DropDownList)e.Item.FindControl("dep")).Attributes.Add("onchange","document.getElementById('"+((TextBox)e.Item.FindControl("txt")).UniqueID+"').value=this.value");
现在因为textbox和dripdownlist的客户端id是由系统自动生成的,不知道怎么获取。
那两个控件都用的服务器端控件
TextBox TxtDanWei=(TextBox )this.MyDataGrid.Items[index].Cells[4].FindControl("TxtDanWei"); //单位
string danwei=TxtDanWei.ClientID;//就是在客户端的名称
然后用
将相关的js语句在服务器端生成在用
RegisterStartupScript("script_bianhao",script.ToString() ) ;
将生成的js发送到客户端就可以了!
因为每一个TextBox在不同的行中的名称是不一样的,所以就只有这样动态生成js语句.不知道有没有更好的办法,这种方法比较的麻烦,而且很容易出错!
------------------------
你楼上LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^) 的程序即可.如有其他脚本操作,你可:
((DropDownList)e.Item.FindControl("下拉框ID")).Attributes.Add("onchange","down_change('" + ((TextBox)e.Item.FindControl("文本框ID")).ClientID + "',this)");
这样即可求取到文本框的客户端ID,也可得到下拉框对象(this)
相关脚本代码:
<script language=javascript>
function inspectdlchange(DropDownListID,TextBoxID)
{
.......
}
</script>
相关后台代码:
myDropDownList.Attributes.Add("onchange","inspectdlchange(\""+myDropDownList.UniqueID+"\",\""+myTextBox.UniqueID+"\")");