后台登陆调用验证码,点击验证码不刷新,没有反应(所有验证码配置,参数都是正确的)。
找错的时候发现可以刷新验证码的页面比不可以刷新验证码的页面多了一段js代码,用来处理点击验证码刷新的事件。
为什么会少了一段代码?原来就是因为控制器分别调用了renderPartial和render. 下面就说说它们的区别。
在进行页面输出渲染的时候,render输出父模板的内容,将渲染的内容,嵌入父模板。renderPartial则不输出父模板的内容。只对本次渲染的局部内容,进行输出,同时还有个重要区别:
render函数内部默认执行processOutput($output)函数,会把组件,比如CTreeView里面注册到CClientScript里面的需要的脚步进行渲染输出。
而renderPartial()默认不自动渲染输出客户端脚本,需要进行参数的指定,才会输出:renderPartial($view, $data=null, $return=false, $processOutput=false),指定processOutput为true即可。
找错的时候发现可以刷新验证码的页面比不可以刷新验证码的页面多了一段js代码,用来处理点击验证码刷新的事件。
为什么会少了一段代码?原来就是因为控制器分别调用了renderPartial和render. 下面就说说它们的区别。
在进行页面输出渲染的时候,render输出父模板的内容,将渲染的内容,嵌入父模板。renderPartial则不输出父模板的内容。只对本次渲染的局部内容,进行输出,同时还有个重要区别:
render函数内部默认执行processOutput($output)函数,会把组件,比如CTreeView里面注册到CClientScript里面的需要的脚步进行渲染输出。
而renderPartial()默认不自动渲染输出客户端脚本,需要进行参数的指定,才会输出:renderPartial($view, $data=null, $return=false, $processOutput=false),指定processOutput为true即可。