在网站中,我需要在加载页面时根据代码后面的参数设置切换面板,并且需要通过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>
答案 0 :(得分:0)
这是因为生成的javascript错误。你有一个'function'关键字太多了。你得到:
<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>";