<asp:datalist id="dlDQue" runat="server">
<ItemTemplate>
<table>
//这个table里的是问题并且有个btuuton id="btnShow" CommandName="Show"
</table>
<div id="dv" runat="server">
<asp:DataList ID="dlAnswer" Runat="server" DataSource='<%# GetAnswersById(DataBinder.Eval(Container,"DataItem.DQueId").ToString())%>' OnItemCommand="dlAnswer_ItemCommand">
</datalist>//这个datalist里是单个问题的所有回答
<table>
//这个table里放的是提交回答的信息和提交按钮
</table>
</div>
</ItemTemplate>
<datalist>
我的问题:如何做到点btnshow按钮,来显示知隐藏div
<ItemTemplate>
<table>
//这个table里的是问题并且有个btuuton id="btnShow" CommandName="Show"
</table>
<div id="dv" runat="server">
<asp:DataList ID="dlAnswer" Runat="server" DataSource='<%# GetAnswersById(DataBinder.Eval(Container,"DataItem.DQueId").ToString())%>' OnItemCommand="dlAnswer_ItemCommand">
</datalist>//这个datalist里是单个问题的所有回答
<table>
//这个table里放的是提交回答的信息和提交按钮
</table>
</div>
</ItemTemplate>
<datalist>
我的问题:如何做到点btnshow按钮,来显示知隐藏div
解决方案 »
- 求助:点击链接滚动条滑动到最顶上了,不知道为什么?
- 走过路过,帮我这个菜鸟看看行吗?
- treeview不支持asp.net1.1???
- 在数据库中有一个URL的字段,在页面显示的时候要链接到数据库中url中去
- Asp.net msmq 消息队列发送失败问题
- HELP!HELP!HELP!关于输入验证
- 关于ASP.NET AJAX 客户端编程中的列表数据绑定问题
- 是我菜还是清华出的书太滥?“web标单提交问题”窥探清华出书质量
- 菜鸟之提
- 请大家再来讨论一下在线用户问题 (高分求救~~~~~)
- |M| 多个相同的Datatable如何合并他们的数据
- 请问一个关于页面离开后继续未完成操作的问题(c# 内详)
{
if (e.CommandName == "Show")
{
HtmlGenericControl ctl = e.Item.FindControl("dv") as HtmlGenericControl;
ctl.Visible = true;
}
}
我还有点问题:在dlAnswer_ItemCommand这个事件里怎么能取到第二个table里的控件.
--------------------------
使用dlAnswer.Parent.FindControl方法试试。
<ItemTemplate>
<table>
//这个table里的是问题并且有个btuuton id="btnShow" CommandName="Show" onclick="javascript:dv<%# Eval("dlDQue_id") %>.style.display='none';"
</table>
<div id="dv<%# Eval("dlDQue_id") %>">
<asp:DataList ID="dlAnswer" Runat="server" DataSource='<%# GetAnswersById(DataBinder.Eval(Container,"DataItem.DQueId").ToString())%>' OnItemCommand="dlAnswer_ItemCommand">
</datalist>//这个datalist里是单个问题的所有回答
<table>
//这个table里放的是提交回答的信息和提交按钮
</table>
</div>
</ItemTemplate>
<datalist>
当然,你直接给runat=server的button加上onclick="javascript:dv<%# Eval("dlDQue_id") %>.style.display='none';" ,会出错的.你可以通过数据绑定,在cs代码中,给每一行的该按钮加上这么一个onclick事件<input type=button onclick="javascript:div2.style.display='none';" value="测试" />
<div id="div2">
abcabcabcabcabcabcabcabcabcabcabc
</div>
-------------------
这个div必须是runat="server",我不太记的DIV转成服务器端控件是HtmlGenericControl 还是什么,不过用panel行就用panel吧。
则在itemDataBind事件中写:
Button bt= e.Item.FindControl("tb1");
找到的是那一行的button实例
function showsub(sid)
{
whichEl = eval("alsub" + sid);
if (whichEl.style.display == "none")
{
eval("alsub" + sid + ".style.display=\"\";");
}
else
{
eval("alsub" + sid + ".style.display=\"none\";");
}
}
function shows(sid)
{
whichEl = eval("al" + sid);
if (whichEl.style.display == "none")
{
eval("al" + sid + ".style.display=\"\";");
}
else
{
eval("al" + sid + ".style.display=\"none\";");
}
}</script><asp:GridView ID="grvCommentList" ShowHeader="False" PageSize="4" runat="server" AutoGenerateColumns="False" Width="700px" AllowPaging="True" DataSourceID="objComment">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<div class="graytitle" onclick="shows(<%# Eval("ID") %>)"><%# Eval("FullUserName")%>
<%# Eval("CommentDate") %>
</div>
<div id="al<%# Eval("ID") %>"><br /><%# Eval("CommentContent") %></div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle HorizontalAlign="Left" />
<PagerStyle HorizontalAlign="Center" />
</asp:GridView>参考一下把
<ItemTemplate>
<table>
//这个table里的是问题并且有个btuuton id="btnShow" CommandName="Show" onclick="javascript:dv<%# Eval("dlDQue_id") %>.style.display='none';"
<input type="button" id="<%# Eval("dlDQue_id") %>" onclick="return ShowDiv(this);" value="显示">
</table>
<div id="dv<%# Eval("dlDQue_id") %>" style="display:none">
<asp:DataList ID="dlAnswer" Runat="server" DataSource='<%# GetAnswersById(DataBinder.Eval(Container,"DataItem.DQueId").ToString())%>' OnItemCommand="dlAnswer_ItemCommand">
</datalist>//这个datalist里是单个问题的所有回答
<table>
//这个table里放的是提交回答的信息和提交按钮
</table>
</div>
</ItemTemplate>
<datalist>
<script type="text/javascript" language="javascript">
function showdiv(divid)
{
var mydiv = document.getElementById(divid);
if(mydiv.style.display =="")
mydiv.style.display = "none";
else
mydiv.style.display ="";
}
</script>
我是这样写的 DataList dls = (DataList)DataList1.Parent.FindControl("DataList2");
运行后dls的值总是为null,而且总是发现“未将对象引用设置到对象的实例。”
这到底是怎么回事啊!!!