我有一个简单的Web表单,其中包含几个列表框和一个搜索按钮.单击该按钮时,它将返回一个DataSet.如果数据集包含记录,我将最初设置为false的asp:标签设置为true,但这不会发生.如果数据集包含记录且visible属性设置为true,则标签仍未显示.
我还尝试将标签和其他一些控件放在html表中,并在表上设置runat ="server"属性并更改其可见性,但它也没有显示.
这是aspx代码:
<table>
<tr>
<td>
<asp:Label ID="lblSortBy" runat="server" Text="Sort By:" Visible="false">
</asp:Label>
<asp:DropDownList
ID="ddlSortBy"
runat="server"
AutoPostBack="True"
OnSelectedIndexChanged="ddlSortBy_SelectedIndexChanged">
<asp:ListItem Value="Gross">Gross</asp:ListItem>
<asp:ListItem Value="Population">Population</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
这是单击按钮时的简化代码:
public void GetData()
{
DataView dv = GetReportData().DefaultView;
if(dv.ToTable().Rows.Count > 0)
{
lblSortBy.Visible = true;
}
else
{
lblSortBy.Visible = false;
}
}
Run Code Online (Sandbox Code Playgroud)
我在一些ListBoxes和GridView周围有几个更新面板,但没有标签和下拉列表.这会引起问题吗?
我做了一个测试,如果找到记录并且标签消失,我将更新面板中的标签设置为false,因此如果它在更新面板中,它就可以正常工作.
如果按钮位于 UpdatePanel 内,则表、标签等也必须位于 UpdatePanel 内才能更新。否则,只有在单击按钮时 UpdatePanel 的内容才会更新(这就是所谓的部分页面渲染)。
因此,如果按钮在 UpdatePanel 中,您有两种可能来解决问题:
有关详细信息,请参阅MSDN 中的此页面。
归档时间: |
|
查看次数: |
22510 次 |
最近记录: |