如何实现gridview点击弹出层显示信息
请问如何实现在点击gridview模板列中的lingkbutton“修改”按钮时,触发js事件以显示一个“修改信息”层,层中显示已选择行的详细信息,然后在弹出层中进行修改...
请问如何实现在点击gridview模板列中的lingkbutton“修改”按钮时,触发js事件以显示一个“修改信息”层,层中显示已选择行的详细信息,然后在弹出层中进行修改,返回至服务器中。不胜感激!
代码如下:
js代码:
<script language="javascript" type="text/javascript">
function showChangeStudy() {
document.getElementById("ChangeStudy").style.display = "";
}
</script>
这是需弹出的层:
<div id="ChangeStudy" style="border:solid 10px #898989;background:#fff;padding:10px;width:580px;z-index:1001; position: absolute; display:none;top:50%; left:65%;margin:-100px 0 0 -400px;">
<table align="center" runat="server">
<tr>
<td align="center" colspan="2">
修改教育背景信息</td>
</tr>
<tr>
<td align="right" >
起止时间:
</td>
<td >
<asp:TextBox ID="txtMTime" runat="server" Width="331px"
style="margin-left: 0px"></asp:TextBox>
<br />
格式:2005.9-2009.7</td>
</tr>
<tr>
<td align="right" >
毕业院校:</td>
<td >
<asp:TextBox ID="txtMSchool" runat="server" Width="331px"
style="margin-left: 0px"></asp:TextBox>
<br />
格式:清华大学</td>
</tr>
<tr>
<td align="right" >
专业:</td>
<td >
<asp:TextBox ID="txtMMajor" runat="server" Width="331px"
style="margin-left: 0px"></asp:TextBox>
<br />
格式:计算机专业</td>
</tr>
<tr>
<td align="right" >
获得学位:</td>
<td >
<asp:DropDownList ID="dwlistMDegree" runat="server" Width="127px"
>
<asp:ListItem>学士</asp:ListItem>
<asp:ListItem Selected="True">硕士</asp:ListItem>
<asp:ListItem>博士</asp:ListItem>
<asp:ListItem>博士后</asp:ListItem>
</asp:DropDownList>
这是gridview的一个:
<ItemTemplate><asp:LinkButton ID="lnkbtnUpdateStudy" runat="server" CommandName="update"
OnClientClick="showChangeStudy()">修改</asp:LinkButton></ItemTemplate>
</td> </tr><tr><td align="center" colspan="2" ><asp:Button ID="btnChangeStudy" runat="server" Text="修改" Width="40px" onclick="btnChangeStudy_Click" />
</td>
</tr>
</table>
</div>
这是gridview的模板列:
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkbtnUpdateStudy" runat="server" CommandName="update"
OnClientClick="showChangeStudy()">修改</asp:LinkButton></ItemTemplate>
</asp:TemplateField> 展开
代码如下:
js代码:
<script language="javascript" type="text/javascript">
function showChangeStudy() {
document.getElementById("ChangeStudy").style.display = "";
}
</script>
这是需弹出的层:
<div id="ChangeStudy" style="border:solid 10px #898989;background:#fff;padding:10px;width:580px;z-index:1001; position: absolute; display:none;top:50%; left:65%;margin:-100px 0 0 -400px;">
<table align="center" runat="server">
<tr>
<td align="center" colspan="2">
修改教育背景信息</td>
</tr>
<tr>
<td align="right" >
起止时间:
</td>
<td >
<asp:TextBox ID="txtMTime" runat="server" Width="331px"
style="margin-left: 0px"></asp:TextBox>
<br />
格式:2005.9-2009.7</td>
</tr>
<tr>
<td align="right" >
毕业院校:</td>
<td >
<asp:TextBox ID="txtMSchool" runat="server" Width="331px"
style="margin-left: 0px"></asp:TextBox>
<br />
格式:清华大学</td>
</tr>
<tr>
<td align="right" >
专业:</td>
<td >
<asp:TextBox ID="txtMMajor" runat="server" Width="331px"
style="margin-left: 0px"></asp:TextBox>
<br />
格式:计算机专业</td>
</tr>
<tr>
<td align="right" >
获得学位:</td>
<td >
<asp:DropDownList ID="dwlistMDegree" runat="server" Width="127px"
>
<asp:ListItem>学士</asp:ListItem>
<asp:ListItem Selected="True">硕士</asp:ListItem>
<asp:ListItem>博士</asp:ListItem>
<asp:ListItem>博士后</asp:ListItem>
</asp:DropDownList>
这是gridview的一个:
<ItemTemplate><asp:LinkButton ID="lnkbtnUpdateStudy" runat="server" CommandName="update"
OnClientClick="showChangeStudy()">修改</asp:LinkButton></ItemTemplate>
</td> </tr><tr><td align="center" colspan="2" ><asp:Button ID="btnChangeStudy" runat="server" Text="修改" Width="40px" onclick="btnChangeStudy_Click" />
</td>
</tr>
</table>
</div>
这是gridview的模板列:
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkbtnUpdateStudy" runat="server" CommandName="update"
OnClientClick="showChangeStudy()">修改</asp:LinkButton></ItemTemplate>
</asp:TemplateField> 展开
1个回答
展开全部
因为LINKBTN客户端执行
JS显示层 然后提交 到服务器 服务器 绑定数据 到客户端 这时层已经不显示了
解决1
不用JS控制那个层是否显示 把DIV改成 runat="server" 加上id cs文件控制显示与否
也就是visiable=true or false
或者
div1.Style.key["display]="none" or ""
(两者区别:前者不输出到客户端)
解决2
加一个hiddeninput
showChangeStudy() 放到div下面执行
<div>xxxxx</div>
<script>
showChangeStudy()
</script>
后台给hiddeninput赋值
改下js方法根据hiddeninput判断显示与否
JS显示层 然后提交 到服务器 服务器 绑定数据 到客户端 这时层已经不显示了
解决1
不用JS控制那个层是否显示 把DIV改成 runat="server" 加上id cs文件控制显示与否
也就是visiable=true or false
或者
div1.Style.key["display]="none" or ""
(两者区别:前者不输出到客户端)
解决2
加一个hiddeninput
showChangeStudy() 放到div下面执行
<div>xxxxx</div>
<script>
showChangeStudy()
</script>
后台给hiddeninput赋值
改下js方法根据hiddeninput判断显示与否
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询