更新面板更新后,如何确保触发javascript?

时间:2010-12-06 10:30:14

标签: c# javascript postback

早上好。

我们好吗?我希望很好。

我使用以下一些代码来检查/取消选中页面上的几个单选按钮:

    <script type="text/javascript">

function SetOption1RadioButton() {
    document.getElementById('<%=radOption1.ClientID%>').checked = true;
    document.getElementById('<%=radOption2.ClientID%>').checked = false;

</script>

然后我将其分配给后面代码中的几个控件并将其添加到页面加载:

    protected void Page_Load(object sender, EventArgs e)
        {            
            SetJavascriptAttributes();          
        }

public void SetJavascriptAttributes()
        {
                ddl1.Attributes.Add("onFocus", "SetOption1RadioButton()");
                ddl1.Attributes.Add("onClick", "SetOption1RadioButton()");
       }

现在这对初始负载非常有用 - 可爱的东西。当我单击ddl1时,相应地设置单选按钮。但是,当更新面板回发时,javascript不再有效。

我认为这是因为html被发回并且javascript不再存在。

我如何确保尽管更新面板发布回来,但javascript会保持更长时间并按预期执行?

感激不尽的任何帮助或建议。

1 个答案:

答案 0 :(得分:0)

由于您使用的是updatepanel,我假设您已经拥有了网页上ScriptManager的费用。我建议您使用ScriptManager注册任何客户端脚本,这样可以确保它们在部分回发时被调用:

ScriptManager.RegisterStartupScript();
ScriptManager.RegisterExpandoAttribute();