0

在网站内,我需要在加载页面期间根据代码中设置的参数切换面板,并且需要通过 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>
4

1 回答 1

0

这是因为生成的 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>";
于 2013-05-16T22:35:36.433 回答