在后台获取前台Div控件

alwaysYoung 2009-05-07 05:49:21
前台
div id='div<%#Eval("productid")%>'
后台

HtmlGenericControl div = (HtmlGenericControl)e.Row.Cells[0].FindControl("div" + id)


这样获取的div对象是空的,有什么办法可以获取div对象吗
...全文
1073 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangqianbo 2009-12-10
  • 打赏
  • 举报
回复
up
alwaysYoung 2009-05-08
  • 打赏
  • 举报
回复
刚刚改好了,<div id='div <%#Eval("productid")%>' runat="server" style="display: none"> 这样通不过是因为ID是不固定的,我们把div 的id写成固定的 例如 <div id="divReamrk" runat="server" style="display: none">
在后台HtmlGenericControl div = (HtmlGenericControl)e.Row.Cells[0].FindControl("divReamrk"); 这样就可以获取Div对象。
调用前台的一个JS来关闭Div div.Attributes.Add("onmouseout", "return Close('" + div.ClientID + "')");

div 是在GridView里面的,显示的话也是一样的。

原因好像是 div的id是在后台发到前台才会改变的,所以用 div.ClientID就可以获取不同的Div对象
chinasqf 2009-05-08
  • 打赏
  • 举报
回复
通过后台输出控件 Response.Write("<div id='div" + productid + "' runat=\"server\" >")
这样应该可以
xuan.ye 2009-05-08
  • 打赏
  • 举报
回复
ajax可以异步到后台

具体的看ajaxpro
alwaysYoung 2009-05-08
  • 打赏
  • 举报
回复
<div id='div<%#Eval("productid")%>' runat="server" style="display: none">
这样连编译都不能通过 由于前台的div的ID是不固定的所有不能用Request对象来取的吧,有更好一点的办法吗
Adechen 2009-05-07
  • 打赏
  • 举报
回复
<div id='div <%#Eval("productid")%>' runat="server" >
.....
</div>
在后台就可以取到
insus 2009-05-07
  • 打赏
  • 举报
回复
由于div的值有直接从DataSet来的[productid]
可以DataRowView drv = (DataRowView)e.Row.DataItem;

div的id就是:"div" + drv["productid"].ToString();
wuyq11 2009-05-07
  • 打赏
  • 举报
回复
添加runat="server"获取对象,也可遍历页面控件,判断类型实现获取
chen_ya_ping 2009-05-07
  • 打赏
  • 举报
回复
最直接的方法把你的<div />中添加runat=server 就可以直接在后台得到你要的div了。
蓝海D鱼 2009-05-07
  • 打赏
  • 举报
回复
用 Request.Form["name"] 前台设置一下 div的 name
蓝海D鱼 2009-05-07
  • 打赏
  • 举报
回复
up

62,046

社区成员

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

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

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

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