zoukankan      html  css  js  c++  java
  • ASP.net(NVelocity)中浏览器端与服务器端频繁交互传值的问题

    以username为例,假如都以这个单词命名变量、参数等,在来回传值过程中很容易混乱,当然大可不必非要单调使用这一个单词,但是它也有好处,比如说在传值的时候不用考虑我需要传变量的到底被我定义成什么名字了,然后在浩繁的代码世界中找寻它的定义地点。总之还是要弄清楚其中的原理,否则早晚要出错。这里就以ASP.net中NVelocity实现过程登录界面中“同一个名字不同含义”进行说明。

    注意:代码中多次出现username、password,其内涵在不同环境下也不同。
        1)htm中的:用户名:<input type='text' name='username' value='$username' />
             name='username'指的是将用户在浏览器端输入的值传给服务器的username接收“参数”。
             (PS:这个参数可以随意改,只要服务器端和浏览器端保持一致即可。)
             value='$username'这是在NVelocity模板引擎中定义的一个占位符,服务器将处理结果以key-value的形式替换它,此处的$username就是Key。
             (PS:这个也可随意修改,只是在替换的时候注意键值对的配对正确即可)
         2)ashx中的:string username = context.Request["username"];
                      vltContext.Put("username", username);
              ["username"]即是服务器端的接收“参数”;
              string username是在服务器端定义的一个C#变量,用于服务器端数据的操作。
              Put("username", username)前者是键值对中的key,对应于$username;后者是value对应于C#变量string username。
              
         3)整个数据的传输流程是:data(通过name属性)→["username"]→string username→服务器端处理→Put("username",)通过键值对→$username→返回到浏览器端画出来
         当然在此之前需要将原始界面画出来,直接在服务器端的“服务器处理处”通过键值对处将其赋空。

    说明:htm中存放的是NVelocity的模板。

  • 相关阅读:
    innodb临键锁锁定范围
    详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)
    解决Jenkins邮件配置问题
    解决import模块后提示无此模块的问题
    【转】Linux下cp: omitting directory `XXX'问题解决
    Python之异常处理(执行python文件时传入参数)
    Python之发邮件
    Python之递归
    Python之参数类型、变量
    linux sed命令详解
  • 原文地址:https://www.cnblogs.com/gisk/p/3461269.html
Copyright © 2011-2022 走看看