gpt4 book ai didi

c# - 在页面加载时触发 RadButton Onclientclicked

转载 作者:行者123 更新时间:2023-11-30 15:03:14 24 4
gpt4 key购买 nike

当我使用 telerik radbutton 时

<telerik:RadButton ID="RadButton1" runat="server" Text="Stackoverflow" 
Skin="Default" OnClientClicked="SaveIt()" CommandArgument="Edit">
</telerik:RadButton>

刷新页面后,总是SaveIt()函数开始工作。但;当我使用按钮时,它仅在用户单击时起作用。

<button type="button" onclick="SaveIt()">Stackoverflow</button>

它们有什么区别?

最佳答案

这里有几件事。 RadButton 和普通 HTML 按钮的区别如下:

当使用 RadButton 时,生成的客户端 HTML 如下:

<a id="btnStandard" class="RadButton RadButton_Office2010Silver rbSkinnedButton"
href="javascript:void(0)">
<input class="rbDecorated" type="submit" name="btnStandard_input"
id="btnStandard_input" value="Standard Button" />
<input id="btnStandard_ClientState" name="btnStandard_ClientState"
type="hidden" />
</a>

如您所见,生成的类型是“提交”——这意味着它将向服务器提交表单。因此,如果您刷新,它将再次尝试重新发送表单。我无法理解的是 - 您是否使用过 ajax 面板。因为如果您使用了 ajax 面板,则单击按钮会触发 ajax 发布到服务器,并且当您刷新页面时,它就像是第一次而不是回传。

普通的 html 不适用于表单提交。它只是用来在客户端触发点击事件。

话虽如此 - OnClientChecked 的签名如下:

OnClientChecked="<js function name>" 

注意:您应该只提供不带括号的函数名称,即 ( 和 )。

在您的情况下,因为您提供了括号 - 当按钮被初始化时,与其关联的客户端功能将被执行,并且您的 Javascript 代码将在运行时运行。

所以这里是正确的代码:

<telerik:RadButton runat="server" Text="test" OnClientClicked="func" />

<script>
function func() {
alert("clicked");
}
</script>

希望这能回答您的问题。

关于c# - 在页面加载时触发 RadButton Onclientclicked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11856587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com