Hi, the constructor of your panel is only called at a normal request - you have to set the visibility of your link in the ajax callback via AjaxRequestTarget.
1. setOutputMarkupId and setOutputMarkupPlaceholder of the link to true (in your constructor) 2. set the visibility to your component in the callback method (based on your Model) 3. add the component to the AjaxRequestTarget so that it is updated Another solution would be to override the isVisible method and return the visibility based on your model and then only add the component to the AjaxRequestTarget. kind regards Tobias > Am 09.05.2015 um 19:29 schrieb Chris <[email protected]>: > > Hi all, > > currently, the visibility of the resource link is not updated when the parent > component of the panel is rendered again based on an ajax call. > > How can the visibility set dynamically based on the model’s data? > > Thanks, Chris > > public SomePanel(String id, final IModel<List<A>> model) { > super(id, model); > > ResourceLink pl = new ResourceLink("pdfLink", new > ByteArrayResource("application/pdf") {...} > pl.setVisible(routingModel.getObject().get(0).getElements().size() > 0); > ... > } > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
