如何防止加了模板后控件的ID发生变化

baizqlogin 2010-11-18 10:24:02
在不用JS的情况下如何防止加了模板后控件的ID发生变化
...全文
175 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen_ya_ping 2010-11-18
  • 打赏
  • 举报
回复
我觉得没有办法,而且这些变化的ID都是有规律的。不是很难找到
li309000011 2010-11-18
  • 打赏
  • 举报
回复
这个到HTML里面肯定是要变哦

如果要用的话 可以用<%= ObjectList2.ClientID %>去取

这个就是他到页面里的客户端ID了 就可以用JS去操作了
baizqlogin 2010-11-18
  • 打赏
  • 举报
回复
<mobile:ObjectList ID="ObjectList1" Runat="server" CommandStyle-StyleReference="subcommand"
LabelStyle-StyleReference="title">
<DeviceSpecific>
<Choice>
<ItemTemplate>
<mobile:ObjectList ID="ObjectList2" Runat="server" CommandStyle-StyleReference="subcommand"
LabelStyle-StyleReference="title">
..........................................................
</mobile:ObjectList>
</ItemTemplate>
</Choice>
</DeviceSpecific>
</mobile:ObjectList>
不明白可以看看代码,我就是要后台得到objectlist2谁有办法
天下在我心 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 baizqlogin 的回复:]
问题的关键在于前台不能用JS

后台又得不到objectlist2控件,所以更加没办ObjectList2.UniqueID了
[/Quote]
?????
baizqlogin 2010-11-18
  • 打赏
  • 举报
回复
问题的关键在于前台不能用JS

后台又得不到objectlist2控件,所以更加没办ObjectList2.UniqueID了
qiandongwu 2010-11-18
  • 打赏
  • 举报
回复
后台ObjectList2.UniqueID就行了,如果是前台js就用<%=ObjectList2.ClientID%>得到
baizqlogin 2010-11-18
  • 打赏
  • 举报
回复
其实我就是想找到objectlist2
baizqlogin 2010-11-18
  • 打赏
  • 举报
回复
不是得用findcontrolbyid("id")来获取吗?
baizqlogin 2010-11-18
  • 打赏
  • 举报
回复
不太明白。是否可以做个实例?
qiandongwu 2010-11-18
  • 打赏
  • 举报
回复
防止ID变化不知道,但是你可以得到变化后的ID啊,客户端用ClientID,后台用UniqueID获取变化后的ID就行了
baizqlogin 2010-11-18
  • 打赏
  • 举报
回复
datatable dt=.....

for(int i=0;i<dt.Rows.count;i++)
{
objectlist obj=objectlist1.findcontrol("objectlist2") as objectlist;
obj.datasource=data(dt.rows[i]["name"]);
obj.databind();
}
baizqlogin 2010-11-18
  • 打赏
  • 举报
回复
我只是想给objectlist2绑定数据源
baizqlogin 2010-11-18
  • 打赏
  • 举报
回复
clientId 不用jS是不是们办法获取?
  • 打赏
  • 举报
回复
“objectlist2的ID”?它只是放在模板中的而已,在运行时asp.net根据模板来创建许多实例,每一个中间都有一个objectlist2,而你说“objectlist2”自己就不知道说的是哪一个实例吧。
itrefer 2010-11-18
  • 打赏
  • 举报
回复
别用服务器控件
  • 打赏
  • 举报
回复
[Quote=引用楼主 baizqlogin 的回复:]
在不用JS的情况下如何防止加了模板后控件的ID发生变化
[/Quote]

服务器控件的ID本来就不是客户端ID,控件的ClientID属性才是。如果服务器控件ID不变,那么你就肯定不懂把控件放到控件、放到模板(ITemplate)里边,因为这些控件实例会在页面上有多个(甚至上百个),ID是不可能重复的。
baizqlogin 2010-11-18
  • 打赏
  • 举报
回复
代码是这样的:
<mobile:ObjectList ID="ObjectList1" Runat="server" CommandStyle-StyleReference="subcommand"
LabelStyle-StyleReference="title">
<DeviceSpecific>
<Choice>
<ItemTemplate>
<mobile:ObjectList ID="ObjectList2" Runat="server" CommandStyle-StyleReference="subcommand"
LabelStyle-StyleReference="title">
..........................................................
</mobile:ObjectList>
</ItemTemplate>
</Choice>
</DeviceSpecific>
</mobile:ObjectList>

我想获取到objectlist2的ID,如何获取?
ycproc 2010-11-18
  • 打赏
  • 举报
回复
听不是太懂
LZ是想做那种换模版的 网站吧
mimangshamo 2010-11-18
  • 打赏
  • 举报
回复
ID是肯定会变的,要不微软自己都找不到控件了。
你具体遇到了什么问题,同一个问题总是有不同的解决思路的
symbol_bc 2010-11-18
  • 打赏
  • 举报
回复
这不可能吧,之所以加上系统生成的部分,就是因为害怕出现id重复的状况,再说他生成的也是有规律的啊
完全可以操作。
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执行器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境中完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执行机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执行器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡行为,有效提升了系统在启停、反向运动等瞬态过程中的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬行、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进行对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧