我有一个与UpdatePanel关联的UpdateProgress。问题是直到第二次更新后才触发。
Ì有一个ID ==“ uppGeneric”的常规UpdatePanel和一个ID =“ uppAgrupar”的子项,其内部有一个LinkButton。当我单击LinkButton时,它不会触发UpdateProgress栏。
<asp:UpdatePanel ID="uppGeneric" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-12 mx-auto">
<br />
<asp:UpdateProgress ID="upCargando" DynamicLayout="true" runat="server" AssociatedUpdatePanelID="uppAgrupar">
<ProgressTemplate>
<div class="progress">
<div class="indeterminate" style="width: 100%"></div>
</div>
</ProgressTemplate>
</asp:UpdateProgress>
</div>
</div>
<div class="row">
<div class="col-md-6 mx-auto">
<asp:UpdatePanel ID="uppAgrupar" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton ID="btnAgrupar" runat="server" CssClass="el_s btn btn-info btn-block" OnClick="btnAgrupar_Click"><i class="fa fa-search"></i> (S) BUSCAR</asp:LinkButton>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnAgrupar" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
然后在后面的代码中执行(确定):
uppAgrupar.Update();
但什么也没发生。
答案 0 :(得分:0)
我找到了部分解决方案。
UpdateProgress
<asp:LinkButton ID="btnAgrupar" runat="server" CssClass="el_s btn btn-info btn-block" OnClientClick="activar_barra()" OnClick="btnAgrupar_Click"><i class="fa fa-search"></i> (S) BUSCAR</asp:LinkButton>
生成下一个HTML和CSS:
哪个具有“显示:无;”
问题在于显示属性未设置为“ display:block;”在第一个按钮上单击。
因此,我的解决方案是创建一个javascript函数,以更改在事件“ onClientClick”上触发的显示属性。
function activar_barra()
{
document.getElementsByClassName('progress')[0].parentNode.style.display = "block";
}
和javascript函数是(它可以通过ClientID访问,但结果相同)
import { withStyles } from '@material-ui/core/styles'
const getStyles = theme => ({
fooBar: {
...
},
})
...
export default withStyles(getStyles)(MyComponent)