ScriptManager.RegisterStartupScript не срабатывает в ItemDataBound of RadGrid

1

Почему ScriptManager.RegisterStartupScript не ItemDataBound событие ItemDataBound моего RadGrid?

protected void gridMonitorVisibilityConfiguration_OnItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
    try
    {
        if (e.Item is Telerik.Web.UI.GridDataItem)
        {
            if (!IsPostBack)
            {
                Telerik.Web.UI.GridDataItem item = (Telerik.Web.UI.GridDataItem)e.Item;
                Label lblnoAll = (Label)item["Configuration"].FindControl("lblNoAcces");
                Label lblView = (Label)item["Configuration"].FindControl("lblview");
                Label lblViewMod = (Label)item["Configuration"].FindControl("lblviewMod");
                Label lblUser = (Label)item["Configuration"].FindControl("lblUserRoleText");

                HiddenField hdnFlag = (HiddenField)item["Configuration"].FindControl("hdnrdFlagValue");

                RadioButton rdno = (RadioButton)item["Configuration"].FindControl("rdoNoAccess");
                RadioButton rdview = (RadioButton)item["Configuration"].FindControl("rdoViewOnly");
                RadioButton rdVM = (RadioButton)item["Configuration"].FindControl("rdoViewModify");

                DataTable dts = Facade.Monitoring.SelectVisibilityConfiguration(UserProfile.UserLogin, hdnMonitoringID.Value).Tables[0];
                if (dts.Rows.Count > 0)
                {
                    if (!Boolean.Parse(dts.Rows[0]["VisibilityFlag"].ToString()))
                    {
                        rdShared.Checked = false;
                        lblUser.Style["color"] = "grey";
                        lblshared.Style["color"] = "grey";
                        lblnoAll.Style["color"] = "grey";
                        lblView.Style["color"] = "grey";
                        lblViewMod.Style["color"] = "grey";

                        //disable img
                        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "DisableDivImg",
                            "<script type='text/javascript'>$('[ID*=DivImgSelect]').off('click');</script>", false);
                        //disable text
                        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "DisableDivText",
                            "<script type='text/javascript'>$('[ID*=DivText]').off('click');</script>", false);
                        // gridMonitorVisibilityConfiguration.Enabled = false;
                        gridMonitorVisibilityConfiguration.ShowFooter = false;
                        SetScreen();
                    }
                    else
                    {
                        rdShared.Checked = true;
                        BindGridMonitorVisibilityConfiguration();
                        gridMonitorVisibilityConfiguration.ShowFooter = true;
                        rdPrivate.Checked = false;
                    }
                }
                if (hdnFlag.Value == "2")
                {
                    rdVM.Checked = true;
                }
                else if (hdnFlag.Value == "1")
                {
                    rdview.Checked = true;
                }
                else if (hdnFlag.Value == "0")
                {
                    rdno.Checked = true;
                }
            }
        }
    }
    catch (Exception ex)
    {
        SetException(ex);
    }
}

Когда данные загружаются в состоянии, отключите, поэтому jQuery на странице будет отключен. В этом случае я ставлю ScriptManager на ItemDataBound, который является getdata при первом загрузке.

  • 0
    Пожалуйста, предоставьте больше информации!
  • 0
    @joe Джо, я уже отредактировал код, надеюсь, ты поймешь это дело ...
Показать ещё 1 комментарий
Теги:
telerik
radgrid

2 ответа

0
Лучший ответ

Если вы установите для последнего параметра RegisterStartupScript значение true, вам не нужно будет добавлять теги сценария. Похоже, вы пытаетесь найти элемент DivText, поэтому попробуйте следующее:

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "DisableDivText",
    "$find('DivText').off('click');", true);
0

попробуйте использовать этот

   RadScriptManager.RegisterStartupScript(Page, Page.GetType(), "1", "Sys.Application.add_load(function(){{alert('success');}}, 0);", true);
  • 0
    нет @sakir это не работает ,,
  • 0
    Вы можете также опубликовать разметку?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню