2013-01-10 3 views
2

Я использую элементы управления Telerik в моем проекте, и я использую RadTabStrip для моих целейКак вызвать функцию яваскрипта из кода позади после АЯКС постбэка

<telerik:RadTabStrip ID="tsRequisitions" Skin="" MultiPageID="mpRequisitions" runat="server" Width="980" ScrollButtonsPosition="Right" ScrollChildren="True" OnTabCreated="tabCreated"> 

Как вы можете видеть в этом шаблоне я называю tabCreated метод каждый раз при создании новой вкладки. Теперь я хочу вызвать некоторую функцию javascript с серверной стороны (все упоминается в RadAjaxPanel).

Я пытался использовать RegisterClientScriptBlock, но это не помогло мне запустить функцию javascript.

if (!ClientScript.IsClientScriptBlockRegistered("tabSelected")) 
      { 
       ClientScript.RegisterClientScriptBlock(this.GetType(), 
        "tabSelected", "TabSelected();", true); 
      } 

И у меня есть это в моем .aspx файле

<script type="text/javascript"> 
    function TabSelected() { 
     console.log("dfgdfgfdg"); 
    }   
</script> 

Как я могу назвать мою функцию из кода позади после AJAX постбэка?

+1

Вы попробовали 'RegisterStartupScript' вместо этого? – Gavin

+0

Да, тот же результат ... –

+0

Если вы выполняете рендеринг HTML, вы можете попробовать получить рендеринг ответа post post «». Когда браузер отобразит html, он выполнит метод javascript. –

ответ

4

Следующий фрагмент кода сделать трюк

RadScriptManager.RegisterStartupScript(this,this.GetType(), "tabSelectedScript", "TabSelected();", true); 

RegisterStartupScript статический метод RadScriptManager класса (я использую управления здесь Telerik, но, возможно, он будет работать с asp.net стандартной ScriptManager слишком).

0

Вы пробовали это?

Page.RegisterStartupScript("OnLoad", "<script>TabSelected();</script>"); 
Смежные вопросы