如何在 asp.net 中添加动态 JavaScript 警报框
本文关键字:JavaScript 动态 添加 asp net | 更新日期: 2023-09-27 18:32:36
请帮助我。我是 asp.net 新手.如何在 asp.net Web 表单中编写动态 JavaScript?我想做的是以下代码。
以下代码在服务器端的按钮点击事件中,用c#编写。请帮助我.
if(Email.send()){
//show javascript alert box
}else{
//show javascript alert box
}
创建一个通过 AJAX 调用的 Web 方法,并根据该函数的结果弹出 javascript 警报。
示例(在.aspx页面中):
function doSomething() {
$.ajax({
type: "POST",
url: "Do_Something.aspx/DoSomething",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response);
}
});
在Do_Something.aspx.cs:
[WebMethod]
public static string DoSomething()
{
if (Email.Send)
{
return "success";
}
return "not a success";
}
使用 asp.net,所有服务器端代码都将在网页发送给最终用户之前运行,然后将该代码的结果注入到HTML/Javascript中。
此外,当将服务器端代码注入javascript时,您需要在字符串文字(引号)中执行此操作。
因此,如果您在 javascript 单击处理程序中具有:
if ("@Email.Send()") {
// stuff
} else {
// other stuff
}
Email.Send() 命令将运行,该命令的结果将放在 HTML 中。如果您的 Send 函数返回了一个布尔值,我假设它确实返回了布尔值,则返回给最终用户的 HTML 将如下所示:
if ("true") {
// stuff
} else {
...
我假设这不是您想要的结果。执行此操作的正确方法是在单击命令中通过 AJAX 触发服务器上的另一个命令,并将该 AJAX 命令的结果用于逻辑。它看起来像这样:
function clickHandler() {
$.ajax({
type: "POST",
url: "UrlToYourServerSideAction",
data: {
WebParam1: "value",
WebParam2: "value"
},
success: function (response) {
if (response == "true") {
// code if Web Method returns true
} else {
// code if Web Method returns false
}
}
});
}