Javascript中的链接按钮与内部方法

javascript in link button with inner method

本文关键字:内部 方法 按钮 链接 Javascript      更新时间:2023-09-26

我有OnClientClick询问用户是否确定在用户选择的语言中这样做。但它不起作用,因为太多的引号混合。有人知道怎么做吗?

<asp:LinkButton ID="btnDelete" runat="server" ToolTip="Sil" CssClass="red" OnClick="btnDelete_OnClick" CommandArgument='<%# Item.UId %>' 
OnClientClick='<%= "return confirm('" + MULTILANGG("Areyousureyouwanttodeletethis") +"')"%>'><i class="icon-trash bigger-130"></i></asp:LinkButton>

你可以在外面定义你的字符串,在一个常规的脚本标签-然后你不需要任何服务器代码在你的标签:

<script type="text/javascript">
    var _areYouSure = "<%= MULTILANGG("Areyousureyouwanttodeletethis") %>";
</script>
<asp:LinkButton ... OnClientClick="return confirm(_areYouSure);" ...></asp:LinkButton>

编辑

这里有一个你可能更喜欢的模式——因为你已经有了某种翻译文件,你可以通过在页面顶部存储一个包含所有翻译的javascript对象来组织事情。它们会被组织起来,放在一个地方,然后你可以在javascript的任何地方使用它们。

var _resources = <%= JsonConvert.SerializeObject(new {
    areYouSureDelete = MULTILANGG("Areyousureyouwanttodeletethis"),
    welcome = MULTILANGG("Welcome"),
    submit = MULTILANGG("Submit"),
    cancel = MULTILANGG("Cancel")
}) %>;
<asp:LinkButton ... OnClientClick="return confirm(_resources.areYouSureDelete);" ...></asp:LinkButton>

请注意,字符串是在c#中构建的,因此所有的转义都得到了处理,您将最终得到一个有效的javascript对象。

最简单的方法是将其拆分为它自己的js函数

function confirmDelete() {返回确认(' & lt; % = MULTILANGG (Areyousureyouwanttodeletethis) %>")}

然后

OnClientClick="confirmDelete()"

你很接近了!试试这个:

<asp:LinkButton ID="btnDelete" runat="server" ToolTip="Sil" CssClass="red" 
    OnClick="btnDelete_OnClick" CommandArgument='<%# Item.UId %>' 
    OnClientClick="return confirm('<%= MULTILANGG("Areyousureyouwanttodeletethis") %>')">
    <i class="icon-trash bigger-130"></i></asp:LinkButton>