I have a parameter which is bound to other parameters in the same view, and it seems like sometimes the view will select the default parameter values over the parameters which are passed to the view. Is this expected behaviour? I’m going to switch the parameter over to a custom property anyway, but I’m confused as to why the binding wouldn’t re-evaluate when the passed parameters are finally loaded in.
This sounds like the value is not a parameter, but should instead be a custom property anyway.
It should be, but this is probably a result of the way the bindings are organized for the View. Is there any chance you could share the View in question, or at least provide some more insight into the bindings themselves? It's more-pr-less impossible to explain what you're experiencing with the limited information you've provided.
Custom properties are the way to go.
I can try and provide more detail. I have an output parameter ‘appearance’ that is intended to be a boolean. It looks at some boolean session custom properties ‘A’ and ‘B’, and compares them to some boolean view parameters ‘C’ and ‘D’. If A and C, AND B and D match, appearance will be true. Appearance is then used throughout the view. C and D are configured on the embedded view (they are not bound to).
That doesn’t tell me anything about how the values are set on the Embedded View. Are you positive the values are being sent to the Embedded View as you expect?
If appearance
is driven by two values being passed into the Embedded View and two session properties, then why is the View attempting to output some value? Why is that value not just applied as a custom property of the Embedded View? I’m not saying what you’re doing shouldn’t work - it just seems like you’re making it far more complicated then it needs to be.
Try placing some change scripts on the param values and log the new value. Note that the change script will not fire as the View loads because initialization does not qualify as a “change”. You should be able to log changes, and at least verify the values are being set. Assuming they are (because we have tests specifically for this), I suspect that something else is interfering with your bindings. I won’t be able to help you much more without direct access to the View or a better understanding (screenshots) of the bindings themselves.
I’ll have a look at logging the with change scripts to see what is happening, I’ve already set them up as custom property as it wasn’t required for the view to output a parameter.