我在一个页面中有2个网格视图。第一个在页面加载时获取数据,第二个gridview在单击按钮时获取数据。在第二个gridview填充数据之前,第一个gridview中的超链接工作正常。但是,只要单击按钮并填充第二个gridview,第一个gridview中的超链接就不起作用。它的外观类似于超链接,但是当我将光标指向它时,它不会显示链接,也不会打开网址。但是,第二个gridview中的超链接工作正常。
单击按钮后其超链接不起作用的Gridview:
INDEX(a), INDEX(b)
按钮:
<asp:GridView ID="GridView2" runat="server" AllowSorting="True" AutoGenerateColumns="False"
DataSourceID="Saved_Work" Style="float: left; font-size: small; position: relative;
width: 82%; position: relative; top: 0px; height: 55px; font-size: small; text-align: left;
left: 30px;" align="left">
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:HyperLink ID="Continue_SavedWork" runat="server" NavigateUrl='<%# Eval("ID", "~/EditSavedJob.aspx?ID={0}") %>'
Text='<%# Eval("ID") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="UserID" HeaderText="User" SortExpression="UserID" />
<asp:BoundField DataField="Date_Created" HeaderText="Date_Created" SortExpression="Date_Created" />
</Columns>
</asp:GridView>
Gridview在按钮点击时获得绑定:
<asp:Button ID="Button1" runat="server" OnClick="FillGridView" Text="Search" Style="font-size: small;
position: relative; text-align: left; top: 0px; left: 280px; border: 1px ridge #2F10AB" />
按钮的服务器端代码:
<asp:GridView ID="GridView1" runat="server" Height="27px" OnRowUpdating="EditStatus_Click"
Style="left: 120px; position: relative; width: 82%; top: 0px; text-align: center;
font-size: small;" Width="361px" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="JobNumber" HeaderText="JobNumber" />
<asp:BoundField DataField="CustomerName" HeaderText="CustomerName" />
<asp:BoundField DataField="JobLocation" HeaderText="JobLocation" />
<asp:BoundField DataField="StartDate" HeaderText="StartDate" DataFormatString="{0:MM/dd/yyyy}" />
<asp:BoundField DataField="Status" HeaderText="Status" />
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("JobID", "~/JobDetails.aspx?JobID={0}") %>'
Text='Edit Job' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:HyperLink ID="Tickets" runat="server" NavigateUrl='<%# string.Format("~/Tickets.aspx?JobId={0}&JobNumber={1}",
HttpUtility.UrlEncode(Eval("JobId").ToString()), HttpUtility.UrlEncode(Eval("JobNumber").ToString())) %>'
Text='Tickets' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Update Status">
<ItemTemplate>
<asp:DropDownList ID="StatusDD" runat="server" Style="position: relative; font-size: small;
left: 5%; font-family: 'Segoe UI'; border: 1px ridge #2F10AB; background-color: #F7F7F7"
AutoPostBack="True">
<asp:ListItem> </asp:ListItem>
<asp:ListItem>Submitted</asp:ListItem>
<asp:ListItem>Closed</asp:ListItem>
<asp:ListItem>Void</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:ButtonField ButtonType="Button" CommandName="Update" Text="Save" />
<asp:TemplateField HeaderText="Download PDF">
<ItemTemplate>
<%--<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("JobID", "~/GeneratePDF.aspx?JobID={0}") %>' Text='View' />--%>
<asp:Button ID="View" runat="server" OnClick="View_Click" Text="PDF" Style="text-align: right" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
答案 0 :(得分:0)
我注意到在第二次gridview填充后,其他控件也被禁用了。然后我注意到拿着按钮和第一个gridview的超链接不工作的div的高度小于第一个gridview。因此,在第二次网格视图填满之后,无论哪个控制都在主要div的高度之外被禁用。我增加了主要div的高度,它解决了问题。