gpt4 book ai didi

ASP.NET 调用另一个元素的 DoPostBack 函数

转载 作者:行者123 更新时间:2023-12-02 20:40:00 28 4
gpt4 key购买 nike

我有一个 ASP.NET 控件,它有一个在元素上内联呈现的 onclick 事件处理程序。我想调用该函数并让它引发目标控件的服务器端事件处理程序。

<asp:CheckBox ID="Foo" 
runat="server"
AutoPostBack="true"
Text="Foo" />

<a href="#"
onclick="javascript:setTimeout('__doPostBack(\'Foo\',\'\')', 0)">Test
</a>

我创建了复选框,查看了字段上呈现的函数,然后将其复制到 anchor 元素上的 onclick 中。

anchor 将引发回发,但不会引发复选框的事件处理程序。

protected override void OnLoad(EventArgs e)
{
// fires for checkbox
// fires for anchor (the anchor does cause a postback)
}

void Foo_CheckedChanged(object sender, EventArgs e)
{
// fires for checkbox
// does not fire for anchor
}

protected override void OnInit(EventArgs e)
{
this.Foo.CheckedChanged += new EventHandler(Foo_CheckedChanged);
}

可以这样做吗?

最佳答案

不要尝试手动确定回发的 JavaScript 应该是什么样子。使用正确的 API 来执行任务...在本例中,这正是 GetPostBackEventReference 的用途。

myControl.Attributes.Add("onclick", "javascript:" + ClientScript.GetPostBackEventReference(targetControl));

关于ASP.NET 调用另一个元素的 DoPostBack 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2655984/

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