JS缺少形式参数

JS missing formal parameter

本文关键字:参数 JS      更新时间:2023-09-26

在一个网站内,我需要在基于代码后面的参数设置的页面加载期间切换面板,需要通过javascript切换。参数被包含在javascript函数中的代码后面,但我收到一个错误的"缺少形式参数",可能是什么问题?

下面是RegisterClientScriptBlock生成的代码:

<script language='javascript'>function switchactionpanel(1)</script>

下面是注册脚本在加载时调用的代码:

protected void Page_Init(object sender, EventArgs e)
{
    String switchAction = "<script language='javascript'>function switchactionpanel(" + (int)((Global.upAction) Enum.Parse(typeof(Global.upAction), Global.ProfileAction.ToString())) + ")</script>";
    Page.RegisterClientScriptBlock("switchaction", switchAction);
}

下面是aspx文件中的javascript函数:

<script type="text/javascript">
    function switchactionpanel(upaction) {
        switch (upaction) {
            case 1:
                $('#urfcontainer').hide();
                $('#rstcontainer').show();
                break;
            case 2:
                $('#urfcontainer').show();
                $('#rstcontainer').hide();
                break;
        };
    }
</script>

这是因为生成的javascript是错误的。你有太多的"函数"关键字。你得到:

 <script language='javascript'>function switchactionpanel(1)</script>

没有意义。只要确保你得到

 <script language='javascript'>switchactionpanel(1)</script>

,你会没事的。删除此处的'function'关键字:

String switchAction = "<script language='javascript'>function switchactionpanel(" + (int)((Global.upAction) Enum.Parse(typeof(Global.upAction), Global.ProfileAction.ToString())) + ")</script>";