我有一个带有linkbutton的gridview。我使用jquery和css为链接按钮设置了一个灯箱。
Linkbutton源代码
<asp:TemplateField HeaderText="Course" ItemStyle-CssClass="course" HeaderStyle-CssClass="course">
<ItemTemplate>
<asp:LinkButton ID="Course_Name" runat="server" Text='<%# Eval("Course_Name__c") %>' ForeColor="#666699" CommandName="course" CommandArgument='<%# ((GridViewRow) Container).RowIndex %>' ></asp:LinkButton>
</ItemTemplate>
<HeaderStyle Font-Bold="True" />
<HeaderStyle HorizontalAlign="Center"/>
<ItemStyle CssClass="course"></ItemStyle>
</asp:TemplateField>
我必须在rowcommand event中设置lightbox的内容。我在rowdatabound中使用以下代码。
cname.CssClass = "popup-with-zoom-anim";
cname.Attributes.Add("href", "#smalldialog");
脚本是,
<script type="text/javascript">
$(document).ready(function () {
$('.popup-with-zoom-anim').magnificPopup({
type: 'inline',
fixedContentPos: false,
fixedBgPos: true,
overflowY: 'auto',
closeBtnInside: true,
preloader: false,
midClick: true,
removalDelay: 300,
mainClass: 'my-mfp-zoom-in'
});
$('.popup-with-move-anim').magnificPopup({
type: 'inline',
fixedContentPos: false,
fixedBgPos: true,
overflowY: 'auto',
closeBtnInside: true,
preloader: false,
midClick: true,
removalDelay: 300,
mainClass: 'my-mfp-slide-bottom'
});
});
</script>
但是rowcommand没有触发,所以lightbox显示没有数据。任何帮助赞赏。
答案 0 :(得分:1)
这种行为可能有多种原因。执行以下检查:
请勿在{{1}}事件中绑定GridView
关于回发的内容。意味着如果你从后面的Code绑定你的GridView,只能第一次绑定它::
if((!Page.IsPostback)){ GridView1.DataBind(); }
请勿对Page_Load
ViewState
最后一个选项和最少的预期是GridView
属性可能丢失/没有
在gridView标记中定义。确保已为Row Command事件定义了事件处理程序,如:
OnRowCommand