在gridview中想实现这样的功能,点击一个textbox -txtInfo ,弹出 另一个textbox -txtDetInfo,在txtDetInfo输入值,然后点击button 将值返回给 txtInfo ,于是想用到了PopupControlExtender ,然后可以用,但是有回发特求救!!! 贴出部分代码
<asp:TemplateField HeaderText="产品介绍">
<ItemTemplate>
<asp:TextBox ID="txtInfo" runat="server"></asp:TextBox>
<cc1:PopupControlExtender ID="PopupControlExtender1" runat="server"
TargetControlID="txtInfo" PopupControlID="plInfo" Position="Bottom"
>
</cc1:PopupControlExtender>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="plInfo" runat="server" Height="100%" Width="100%" >
<asp:TextBox ID="txtInfoDet" runat="server" Height="400px" TextMode="MultiLine"
Width="300px" ></asp:TextBox>
<asp:Button ID="btnPlOk" runat="server" onclick="btnPlOk_Click" Text="确定"
UseSubmitBehavior="False" />
<asp:Button ID="btnPlCancel" runat="server" onclick="btnPlCancel_Click"
Text="取消" />
</asp:Panel>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnPlOk" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<br />
</ItemTemplate>
protected void btnPlOk_Click(object sender, EventArgs e)
{
Button btnPlOk = (Button)sender;
GridViewRow gvr = (GridViewRow)btnPlOk.NamingContainer;
TextBox txtInfoDet = (TextBox)gvr.FindControl("txtInfoDet");
TextBox txtInfo = (TextBox)gvr.FindControl("txtInfo");
txtInfo.Text = txtInfoDet.Text; // PopupControlExtender1.Commit(txtInfoDet.Text); --找不到PopupControlExtender1 }
<asp:TemplateField HeaderText="产品介绍">
<ItemTemplate>
<asp:TextBox ID="txtInfo" runat="server"></asp:TextBox>
<cc1:PopupControlExtender ID="PopupControlExtender1" runat="server"
TargetControlID="txtInfo" PopupControlID="plInfo" Position="Bottom"
>
</cc1:PopupControlExtender>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="plInfo" runat="server" Height="100%" Width="100%" >
<asp:TextBox ID="txtInfoDet" runat="server" Height="400px" TextMode="MultiLine"
Width="300px" ></asp:TextBox>
<asp:Button ID="btnPlOk" runat="server" onclick="btnPlOk_Click" Text="确定"
UseSubmitBehavior="False" />
<asp:Button ID="btnPlCancel" runat="server" onclick="btnPlCancel_Click"
Text="取消" />
</asp:Panel>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnPlOk" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<br />
</ItemTemplate>
protected void btnPlOk_Click(object sender, EventArgs e)
{
Button btnPlOk = (Button)sender;
GridViewRow gvr = (GridViewRow)btnPlOk.NamingContainer;
TextBox txtInfoDet = (TextBox)gvr.FindControl("txtInfoDet");
TextBox txtInfo = (TextBox)gvr.FindControl("txtInfo");
txtInfo.Text = txtInfoDet.Text; // PopupControlExtender1.Commit(txtInfoDet.Text); --找不到PopupControlExtender1 }
解决方案 »
- 问一个问题,如何更改网站前台模板?
- 各位师兄,帮帮忙!
- 找高手帮我写TreeView的代码!
- 在线急等,怎么从数据库读出来的写不到xml中去
- ??????????????????????????大家快来帮忙啊,我用ajax控件的tabs,里面写了一些table,原来运行后还可以查看而过了几天发现运行后里面任何
- 我用asp.net开发的网站,感觉速度挺慢的,谁有网站优化经验啊?up有分
- 动态的载入一份XML文档(未知格式)然后在TREEVIEW中体现出来。。现想新建其中一个节点怎么做
- 请问那位能提供一个对数据库增删改记录的例子!?
- 上传看不到主页啊???web.config vb+asp.net
- 闭关两天,有简单有复杂,总结出几个问题,20分一个,过来拿吧
- 微软 .xsd(数据集)自动生成的代码 问题
- 请大家给推荐几个ASP.NET或c#的学习网站
你现在这样有n个PopupControlExtender!!
The TargetControlID of 'PopupControlExtender1' is not valid. A control with ID 'txtInfo' could not be found. 这样没办法设TargetControlID了
try 着把Up...面板包括GridView看看
解决方法是:
1.加一个Button或LinkButton设置style="display:none",也即隐藏,
2.PopupControlExtender的TargetControlID为以上的Button或LinkButton的ID
3.显示Panel(弹出框)用:
PopupControlExtender1.Show();