[英]How to add a popup window for a gridview item template control in asp.net
I added a grid view and the data is bounded to gridview. 我添加了一个网格视图,数据绑定到了网格视图。 I placed a linkbutton in a item templateNow when I click this link button a popup should appear.
我在项目模板中放置了一个链接按钮。现在,当我单击此链接按钮时,将出现一个弹出窗口。 I tried using modalPopupExtender but it shows an error :
The TargetControlID of 'ModalPopupExtender1' is not valid. A control with ID 'lnkDownload' could not be found
我尝试使用modalPopupExtender,但显示错误:
The TargetControlID of 'ModalPopupExtender1' is not valid. A control with ID 'lnkDownload' could not be found
The TargetControlID of 'ModalPopupExtender1' is not valid. A control with ID 'lnkDownload' could not be found
as linkbutoon is in item template it could not be found. The TargetControlID of 'ModalPopupExtender1' is not valid. A control with ID 'lnkDownload' could not be found
因为linkbutoon位于项目模板中,因此找不到。
<asp:GridView ID="minidata2" CssClass="table" runat="server" AutoGenerateColumns="false" DataKeyNames="abstract">
<Columns>
<asp:BoundField DataField="projectid" HeaderText="MyFileId" />
<asp:BoundField DataField="video" HeaderText="MyFileurl" />
<asp:TemplateField HeaderText="abstract">
<ItemTemplate>
<asp:LinkButton ID="lnkDownload" runat="server" Text="Download" OnClick="lnkDownload_Click"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:ModalPopupExtender ID="ModalPopupExtender1" PopupControlID="panel1" TargetControlID="lnkDownload" runat="server"></asp:ModalPopupExtender>
Now how to show a popup window while we clcik on link button 现在,当我们点击链接按钮时如何显示弹出窗口
Updated Please check the below code 更新请检查以下代码
<asp:UpdatePanel runat="server" ID="up1">
<ContentTemplate>
<asp:GridView ID="minidata" CssClass="table" runat="server" AutoGenerateColumns="false" DataKeyNames="abstract">
<Columns>
<asp:BoundField DataField="pid" HeaderText="MyFileId" />
<asp:BoundField DataField="video" HeaderText="MyFileurl" />
<asp:TemplateField HeaderText="abstract">
<ItemTemplate>
<asp:LinkButton ID="lnkDownload" runat="server" Text="Download" OnClick="lnkDownload_Click"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:ModalPopupExtender ID="ModalPopupExtender1" PopupControlID="panel1" TargetControlID="Button1" runat="server"></asp:ModalPopupExtender>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:Panel runat="server" ID="panel1" style="display:none;">
<div>
<asp:Label runat="server" Text="sacca"></asp:Label>
<asp:TextBox runat="server"></asp:TextBox>
<asp:LinkButton runat="server"></asp:LinkButton>
</div>
</asp:Panel>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="minidata" />
</Triggers>
</asp:UpdatePanel>
ModalPopupExtender1
is not able to find lnkDownload
which is inside gridview hence try something like this ModalPopupExtender1
无法找到位于gridview内的lnkDownload
,因此请尝试这样的操作
<asp:GridView ID="minidata2" CssClass="table" runat="server" AutoGenerateColumns="false" DataKeyNames="abstract">
<Columns>
<asp:BoundField DataField="projectid" HeaderText="MyFileId" />
<asp:BoundField DataField="video" HeaderText="MyFileurl" />
<asp:TemplateField HeaderText="abstract">
<ItemTemplate>
<asp:LinkButton ID="lnkDownload" runat="server" Text="Download" OnClientClick='openmodelpopup();' ></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID="Button1" runat="server" Text="Button" Style="display: none;" />
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:ModalPopupExtender ID="ModalPopupExtender1" PopupControlID="panel1" TargetControlID="Button1" runat="server"></asp:ModalPopupExtender>
<script type="text/javascript">
function openmodelpopup() {
document.getElementById('<%=Button1.ClientID %>').click();
}
</script>
Set a button or linkbutton outside gridview targeting Modalpop. 在以Modalpop为目标的gridview外部设置按钮或链接按钮。
<asp:GridView ID="minidata2" CssClass="table" runat="server" AutoGenerateColumns="false" DataKeyNames="abstract">
<Columns>
<asp:BoundField DataField="projectid" HeaderText="MyFileId" />
<asp:BoundField DataField="video" HeaderText="MyFileurl" />
<asp:TemplateField HeaderText="abstract">
<ItemTemplate>
<asp:LinkButton ID="lnkDownload" runat="server" Text="Download" OnClick="lnkDownload_Click"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:LinkButton ID="lnkbtn" runat="server"></asp:LinkButton>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:ModalPopupExtender ID="ModalPopupExtender1" PopupControlID="panel1" TargetControlID="lnkbtn" runat="server"></asp:ModalPopupExtender>
Then On linkbutton click event fire from gridview show your modal popup: 然后在从网格视图的链接按钮上单击事件触发,显示您的模式弹出窗口:
protected void lnkDownload_Click(object sender, EventArgs e)
{
// your code
ModalPopupExtender1.Show();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.