从asp.net正确执行javascript代码
Executing the javascript code properly from asp.net
我试图从TestConfirmValue()方法在后面的代码,但当javascript函数callCheckMethod()被调用,函数的最后一行
alert("<%= TestConfirmValue() %>")在其他操作之前被调用。首先调用TestConfirmValue()
, confirm_value
总是空的。
在调用TestConfirmValue()
之前,我如何才能从javascript函数中首先设置confirm_value
?
On Code behind:
protected override void OnPreRender(EventArgs e)
{
ClientScript.RegisterStartupScript(GetType(), "Javascript", "callCheckMethod();", false);
}
在aspx页面:
function callCheckMethod() {
var confirm_value = document.createElement("INPUT");
confirm_value.type = "hidden";
confirm_value.name = "confirm_value";
if (confirm("Are you sure?")) {
confirm_value.value = "Yes";
} else {
confirm_value.value = "No";
}
document.forms[0].appendChild(confirm_value);
alert("<%= TestConfirmValue() %>");
}
//
背后的代码
public string TestConfirmValue()
{
string confirmValue = Request.Form["confirm_value"];
if (confirmValue == null) return null;
if (confirmValue=="Yes")
{
//do something
}
return string.Empty;
}
你不能。当您编写<% something %>
时,它总是在创建页面之前在服务器上呈现。只有在所有asp标签被执行后,页面才会被发送到客户端,Javascript才会被调用。
有几种方法可以做到您正在尝试的事情,大多数都涉及ajax调用。查看"PageMethods",它是一种从客户端Javascript调用服务器端静态方法的方法。
http://www.ajaxtutorials.com/quickstart/ajax-tutorial-page-methods-in-asp-net/相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 在Safari执行javascript之前对其进行修改
- 如何在执行此特定onclick事件时执行JavaScript函数
- 如何在从浏览缓存加载页面时执行javascript
- 使用Rhino和ASE执行Javascript的区别
- 如何在加载完整页面后严格执行javascript代码
- 在动态加载的对话框中执行Javascript
- 在Sinatra中执行Javascript
- 通过AJAX加载页面并执行javascript和CSS
- 适用于多种浏览器的Selenium-需要能够执行javascript的webDriver
- 如何在seleniumwebdriver中执行javascript提示并等待接受输入
- 在window.open()生成的窗口中执行JavaScript
- AJAX成功回调-执行javascript时出现问题
- 通过指令在控制器中执行javascript函数
- 从React Native Android原生地执行JavaScript代码
- iframe未执行Javascript方法(PHP)
- 执行JavaScript代码,使用selenium webdriver或WatiN从控制台获取日志
- 通过web驱动程序异步执行Javascript
- 如何在长时间执行JavaScript期间显示微调器
- 点击困难时执行javascript函数