如何从 asp.net 中的代码隐藏调用确认消息
本文关键字:隐藏 代码 调用 确认 消息 asp net | 更新日期: 2023-09-27 17:57:02
嗨,我想从 asp.net 中的代码隐藏调用客户端 javascript 确认消息。
我想使用确认消息中的真或假返回值。
我这样做,但这不是正确的方法,请告诉我我该怎么做。
ScriptManager.RegisterStartupScript(this, this.GetType(), "myconfirm", "confirm('No Rule Type Ids found for This Rule.');", true);
我认为这就是您想要实现的目标:
<script type = "text/javascript">
function Confirm() {
var confirm_value = document.createElement("INPUT");
confirm_value.type = "hidden";
confirm_value.name = "confirm_value";
if (confirm("Do you want to save data?")) {
confirm_value.value = "Yes";
} else {
confirm_value.value = "No";
}
document.forms[0].appendChild(confirm_value);
}
</script>
.aspx代码
<asp:Button ID="btnConfirm" runat="server" OnClick = "OnConfirm" Text = "Raise Confirm" OnClientClick = "Confirm()"/>
C#
public void OnConfirm(object sender, EventArgs e)
{
string confirmValue = Request.Form["confirm_value"];
if (confirmValue == "Yes")
{
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('You clicked YES!')", true);
}
else
{
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('You clicked NO!')", true);
}
}
而不是直接在代码中编写确认。写下javascript函数的名称。例如,
ScriptManager.RegisterStartupScript(this, this.GetType(), "myconfirm", "OpenConfirmDialog();", true);
在你的 javascript 中,编写函数 OpenConfirmDialog
<script>
function OpenConfirmDialog()
{
if (confirm('No Rule Type Ids found for This Rule.'))
{
//True .. do something
}
else
{
//False .. do something
}
}
</script>
不能将客户端代码与服务器端代码混合使用。在服务器端代码完成之前,客户端代码(javascript)不会发送到客户端(浏览器)。
您需要停止处理并向用户显示问题(可能通过重定向到其他页面),然后(确认后)继续处理。
Response.Write("<script language=javascript>");
Response.Write("if(confirm('El vehiculo no existe, Deseas crear el registro?')){window.location.href='IngresoVehiculos.aspx'}");
Response.Write("</script>");
使用:
Response.Write("<script>alert('Open Message!');</script>");
你可以在不使用Javascript函数的情况下做到这一点
尝试
if (MessageBox.Show("confirm('No Rule Type Ids found for This Rule.')",
"myconfirm",
MessageBoxButtons.YesNo) == DialogResult.Yes)
{
// yes
}
else
{
//No
}