Почему 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 при первом загрузке.
Если вы установите для последнего параметра RegisterStartupScript значение true
, вам не нужно будет добавлять теги сценария. Похоже, вы пытаетесь найти элемент DivText
, поэтому попробуйте следующее:
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "DisableDivText",
"$find('DivText').off('click');", true);
попробуйте использовать этот
RadScriptManager.RegisterStartupScript(Page, Page.GetType(), "1", "Sys.Application.add_load(function(){{alert('success');}}, 0);", true);