【发布时间】:2013-01-08 20:27:37
【问题描述】:
我知道有很多这样的问题。我尝试了很多,但仍然无法使其正常工作。
我有:RadAjaxManager、RadAjaxPanel、RadScriptBlock
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"
DefaultLoadingPanelID="RadAjaxLoadingPanel1">
<ClientEvents OnRequestStart="onRequestStart" />
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="AjaxPanel">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="AjaxPanel"/>
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadAjaxPanel runat="server" ID="AjaxPanel" Wrap="True" CssClass="PanelAjax">
<telerik:RadComboBox runat="server" ID="cbLanguage" Width="115px"
AutoPostBack="True"Sort="Ascending" EmptyMessage="Choose language"
DataValueField="id" DataTextField="languageName"
OnSelectedIndexChanged="cbLanguage_SelectedIndexChanged">
</telerik:RadComboBox>
</telerik:RadAjaxPanel>
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script>
function MyFunction(){
alert('asdasd');
}
</script>
</telerik:RadScriptBlock>
</asp:Content>
在Master Page 我有:
<telerik:RadScriptManager ID="ScriptManager1" runat="server">
</telerik:RadScriptManager>
我想在 combo box selected index change 上运行 MyFunction()。
我已经试过了:
protected void cbLanguage_SelectedIndexChanged(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "myKey", "MyFunction();");
ScriptManager.RegisterStartupScript(Page, this.GetType(), "testOne", "MyFunction();", true);
}
我也尝试直接触发警报:
ScriptManager.RegisterStartupScript(Page, GetType(), "alert", "alert('asd');", false);
RadAjaxManager1.ResponseScripts.Add(@"radalert('Welcome to RadWindow <b>Prometheus</b>!', 330, 210);");
string treeScript = "<script language='javascript'>alert('asd');</script>";
Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", treeScript);
RadAjaxManager1.ResponseScripts.Add(@"alert('Welcome');");
谁能解释一下我做错了什么?
没有错误。
只是不执行javascript代码。我的屏幕上没有alert() 窗口。
【问题讨论】:
-
为什么在你的函数后面的代码行前面有
1:和2:? -
只是列举我已经尝试过的。代码中没有'1:'和'2:'
-
你应该从你的代码 sn-p 中删除它。这是非常具有误导性的。
-
顺便说一句,你没有提到,你的脚本实际上是什么不起作用。你在编译时,运行时有错误吗?您收到 JavaScript 错误吗?您的 JavaScript 是否出现在源代码中?等等等等。
-
没有错误,只是没有出现alert()弹窗
标签: javascript asp.net ajax code-behind