<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
$(document).ready(function () {
google.load("elements", "1", {
packages: "transliteration"
});
function onLoad() {
var options = {
sourceLanguage:
google.elements.transliteration.LanguageCode.ENGLISH,
destinationLanguage:
google.elements.transliteration.LanguageCode.HINDI,
shortcutKey: 'ctrl+g',
transliterationEnabled: true
};
var control =
new google.elements.transliteration.TransliterationControl(options);
control.makeTransliteratable(['<%=TextBox1.ClientID%>']);
}
// here you make the first init when page load
google.setOnLoadCallback(onLoad);
// here we make the handlers for after the UpdatePanel update
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
function InitializeRequest(sender, args) {
}
// this is called to re-init the google after update panel updates.
function EndRequest(sender, args) {
onLoad();
}
});
</script>
// update panel with button to make post back
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server" />
<asp:Label ID="Label1" Text="text" runat="server" />
<asp:Button ID="Button1" Text="Postback" runat="server" OnClick="Button1_Click" />
</ContentTemplate>
</asp:UpdatePanel>
我已经尝试过这个解决方案Does not work Google translator java Script used to text box in ajax update panel 。如果我从页面外部准备好谷歌音译代码,那么它工作正常,但在回发后它不起作用。 如果我将代码放在页面就绪事件中,那么页面就不会加载。请帮我。
答案 0 :(得分:0)
你使用:添加
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server" />
<asp:Label ID="Label1" Text="text" runat="server" />
<asp:Button ID="Button1" Text="Postback" runat="server" OnClick="Button1_Click" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>