当前位置:编程学习 > C#/ASP.NET >>

C#后台怎么取得前台控件的ID值,并执行操作。

 前台: <asp:TextBox ID="Num" runat="server" Width="50" Text ="50" ></asp:TextBox>
我现在想通过后台操作使其不可编辑。求大神支招。
--------------------编程问答--------------------
Num.Enable=false;
--------------------编程问答-------------------- 具有ID并且runat="server"的元素,都可以在后台去设置他的一些属性! --------------------编程问答--------------------
这样不行的,后台直接取不到这个ID值


--------------------编程问答-------------------- 补充一下:通常情况下,ID值时可以取得的,但是现在我把这个标签放在了  <ItemTemplate>  </ItemTemplate>里面。这样就拿不到了 怎么办 ? --------------------编程问答-------------------- 你需要FindControl一下!! --------------------编程问答-------------------- LZ头像涉嫌涉及社情服务,已被封号..请大家别在留言. --------------------编程问答--------------------

//ListView(ID:lvInfos),i为行索引
(lvInfos.Items[index].FindControl("Num") as TextBox).Enable=false; 
//GridView(ID:gvInfos),i为行索引
(gvInfos.Rows[index].FindControl("Num") as TextBox).Enable=false; 
--------------------编程问答--------------------
引用 7 楼 u011300178 的回复:

//ListView(ID:lvInfos),i为行索引
(lvInfos.Items[index].FindControl("Num") as TextBox).Enable=false; 
//GridView(ID:gvInfos),i为行索引
(gvInfos.Rows[index].FindControl("Num") as TextBox).Enable=false; 


注释有错误,纠正下  index 为行索引 --------------------编程问答-------------------- 我靠,你的小伙伴漏出来了! --------------------编程问答-------------------- 你看下apsx的头是不是出问题了 --------------------编程问答-------------------- 一般用Master, PanelD等控件都会改变里面控件的HTML Id
两种方法解决
1.直接看生成的html代码,会在你控件前加个前缀
2. 控件属性里把clienid 属性射程Static这样生成的控件在HTML里的id就不会变了 --------------------编程问答--------------------
引用 1 楼 huanggreat 的回复:
Num.Enable=false;

这不就行了 --------------------编程问答-------------------- 直接查看生成的Htm1控件名稱,可使用JQUery  Dom語法進行讀寫操作.
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,