超链接中href和onclick的执行先后问题以及js调用后台数据

来源:互联网 发布:fireworks cs6 mac版 编辑:程序博客网 时间:2024/04/30 17:04

 

<script type="text/javascript" language="javascript">        function JudeRate() {            var courserate = "<%=rate %>";            if (courserate < 95) {                alert("课程学习进度未达要求,不允许考试");                return false            }            else {                return true;            }        }        function JudePrint(score) {            if (score=="未完成") {                alert("无该课程成绩,无法打印");                return false            }            else {                return true;            }        }    </script>


<asp:GridView ID="GridView1" runat='server' AutoGenerateColumns="False" CssClass="GridViewStyle">             <FooterStyle  CssClass="GridViewFooterStyle" />            <Columns>                <asp:BoundField HeaderText="课程名" DataField="COURSE_NAME" HeaderStyle-Wrap="false"                    ItemStyle-HorizontalAlign="Center">                    <HeaderStyle Wrap="False"></HeaderStyle>                    <ItemStyle HorizontalAlign="Center"></ItemStyle>                </asp:BoundField>                <asp:BoundField HeaderText="考试成绩" DataField="SCORE" HeaderStyle-Wrap="false" ItemStyle-HorizontalAlign="Center">                    <HeaderStyle Wrap="False"></HeaderStyle>                    <ItemStyle HorizontalAlign="Center"></ItemStyle>                </asp:BoundField>                <asp:TemplateField HeaderText="操作" ShowHeader="False">                    <ItemTemplate>                        <a target="_blank" href='List.aspx?courseid=<%#Eval("COURSE_ID") %>' onclick="return JudeRate();">进入考试</a>/<a                            target="_blank" href='PrintGrade.aspx?user_course_id=<%#Eval("USER_COURSE_ID") %>' onclick="return JudePrint('<%#Eval("SCORE") %>')">打印</a>                    </ItemTemplate>                    <ItemStyle HorizontalAlign="Center" />                </asp:TemplateField>            </Columns>          </asp:GridView>


 

上面中<a target="_blank" href='List.aspx?courseid=<%#Eval("COURSE_ID") %>' onclick="return JudeRate();">进入考试</a>

先执行onclick中的js代码,根据返回函数的bool类型来判断是否执行href,如果返回的是false就不执行href的页面跳转,为true就执行href

js函数JudeRate的var courserate = "<%=rate %>";调用的是后台的public double rate

另外在js函数中传参的时候参数为字符串的时候一定要加上‘ ’    

比如上面的onclick="return JudePrint('<%#Eval("SCORE") %>')"

原创粉丝点击