gpt4 book ai didi

c# - OnClick 和 OnClientClick

转载 作者:太空宇宙 更新时间:2023-11-03 22:12:22 26 4
gpt4 key购买 nike

我在另一个页面打开的弹出页面上有一个图像按钮

<asp:ImageButton 
ID="Button_kalem_islemikaydet"
runat="server"
CausesValidation="False"
ImageUrl="~/images/butonlar/buyuk/Kaydet.jpg"
meta:resourcekey="Button_kalem_islemikaydetResource1"
OnClick="Button_ust_islemikaydet_Click"
OnClientClick="f2()"
Width="100" />

f2()

<script type="text/javascript">
function f2() {
opener.document.getElementById("TextBox1").value = "hello world";
opener.document.getElementById("HiddenField1").value = "hello world";

window.opener.location.href = window.opener.location.href;
}
</script>

Button_ust_islemikaydet_Click 是在 aspx.cs 文件中实现的另一种方法,它更新显示在 GridView 父页面中的数据库表。

我想做的是 doPostBack 我的意思是刷新 opener(parent)页面。上面的这些代码刷新正在工作。但是,父页面在刷新之前仍然显示相同的数据。原因是 < strong>OnClientClickOnClick 方法 之前工作所以我的问题是,有什么方法可以在 OnClick 上运行该方法并完成它,然后运行 ​​OnClientClick 方法?

最佳答案

<form id="aspnetForm" runat="server">
<asp:Button Text="Click Me" ID="ClickMeButton" OnClick="ClickMeButton_OnClick" runat="server" />
<asp:HiddenField runat="server" ID="UpdateOpenerHiddenField" Value="false" />

<script type="text/javascript">
//1st approach
var updateOpenerField = window.document.getElementById("<%= UpdateOpenerHiddenField.ClientID %>");
if (updateOpenerField.value === "true") {
f2();
updateOpenerField.value = "false";
}

// for the 2nd approach just do nothing
function f2() {
alert("Hello, opener!");
}
</script>
</form>


protected void ClickMeButton_OnClick(object sender, EventArgs e)
{
//1st approach
UpdateOpenerHiddenField.Value = "true";

// 2nd approach
ClientScript.RegisterStartupScript(this.GetType(), "RefreshOpener", "f2();", true);
}

关于c# - OnClick 和 OnClientClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6175695/

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