ASP.NET服务器端与javascript交互的一种方法

来源:互联网 发布:基金百分之几怎么算法 编辑:程序博客网 时间:2024/06/06 02:12

昨天在项目中遇到了一个问题,要前台脚本调用调用后台的事件。经过查阅网上的资料,这个方法还不错。

第一步:前台写一个脚本,我需要在前台判断用户输入的是否是回车键,然后执行后台函数。

 

<script type="text/javascript">
    
function keyClick(cmd)
    
{
        
//判断是否是回车键
        if(event.keyCode==13)
        
{
            
//执行后台更新代码
            eval(cmd);
        }

    }

</script>

 

第二步:在后台写相应的函数。将要传的参数定义为字符串,通过GetPostBackEventReference在Render事件中来安全的注册脚本。

 

    protected override void Render(HtmlTextWriter writer)
    
{
        
foreach (GridViewRow Row in GridView1.Rows)
        
{
          
//这里进行安全脚本注册,只能在Render事件中进行,
           String  References = ClientScript.GetPostBackEventReference(gvRegister, "Update$" + Row.RowIndex.ToString(), True)
            String Script
= "javascript:keyClick(""EVAL_COMMAND"")"
           
//传参数
            Script = Script.Replace("EVAL_COMMAND", References)
            
if (Row.RowType == DataControlRowType.DataRow)
            
{
         
//ClientScript.GetPostBackEventReference只能在Render的时候调用,进行安全注册脚本
                if (Row.RowState == DataControlRowState.Edit)
                
{
                        Row.Attributes.Add(
"onkeydown", Script)
                }

            }

        }

        
base.Render(writer);
    }

 

 这样就可以前台后台交互了。是不是很方便

原创粉丝点击