如何解决从JavaScript背后的ASP.NET代码?
| 是否可以在vs2008中从JavaScript调用asp.net codebehind函数? 我的问题是,我有两种代码隐藏方法,一种是进行某种验证的方法,它将返回true或false。 用户单击“提交”按钮时将调用此方法,如果返回值为true, 我想调用javascript函数进行确认(确认对话框),如果可以,我会调用 另一个代码隐藏方法进行更新。如果验证方法返回false或javascript取消, 没有什么变化。 现在,我的代码是这样的:<script language=\"javascript\" type=\"text/javascript\">
function Confirm()
{
var checkUpdate = confirm(\"Do you wish to save changes?\");
if (checkUpdate)
{
return true;
}
else
{
return false;
}
}
protected void Button1_Click(object sender,EventArgs e)
{
if(CheckValidate())
{
string script = \"<SCRIPT LANGUAGE=\'JavaScript\'> \";
script += \"Confirm()\";
script += \"</SCRIPT>\";
Page.RegisterStartupScript(\"ClientScript\",script);
//If Javascript Ok Call Update,Otherewise,nothing;
}
}
private boolean CheckValidate()
{
return boolean;
}
private void UpdateData()
{
//Update;
}
但是,它会立即更新方法,并在更新后显示javascript确认框
出来。
我如何改变以得到正确的顺序?请给我正确的方法。
解决方法
是的,通过使用PageMethods,您可以从javascript调用代码隐藏方法。
检查此链接以获取有关页面方法的更多详细信息:http://aspalliance.com/1922_PageMethods_In_ASPNET_AJAX
,要在客户端事件上调用服务器端方法,您需要执行以下操作:
1-创建服务器端方法:
void DoSomething(...) { ... }
2-实现带有一个字符串参数的“ 2”(您可以将名称分配给该参数的值):
public void RaisePostBackEvent(string eventArgument)
{
DoSomething(...);
}
3-编写脚本以触发回发:
function TriggerPostBack(control,arg){
__doPostBack(control,arg);
}
4-在需要时调用PostBack触发函数:
<a .... onclick=\"TriggerPostBack(\'control\',\'arg\')\" .. />
,就您而言,为什么不使用按钮的OnClientClick函数来调用javascript函数?
问候,
S Mukherjee。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。