zoukankan      html  css  js  c++  java
  • 善良公社项目总结之如何从前台向后台传输数据

    前言 

     

           BS的学习任务基本上结束了,当然仅仅是视频的学习内容。很多都没有具体的实践过程,BS很多的技术和框架都没有认真的学习和实践。这次在跟着崔哥在实践的时候,感觉对于BS的内容还是要更多的学习和研究。接下来,对数据如何从前台传到进行一些小的总结。当然只是自己在实际过程中用到的,可能还有其他的。

     

    提交表单

     

    post和get的区别

    提交表单的方式无外乎post和get这两种,在默认情况使用的get方式。

     

    1.安全性

     

          get这种方式,在牛腩新闻发布系统都学习使用过。在数据传输的时候,会将数据的参数数值显示在链接里。当然可以将参数数值加密,这样会好点,但相对来说post这种使链接没有任何变化方式更为安全。

     

    2.在后台的值的获取上

     

       post获取方式为Request.Form[];这个方法在c#中是重载的,可以用索引,也可以使用控件的名字

    如:          

        

     Request.Form[number];
    
     Request.Form["name"];


     在使用索引的时候,有时候会出现一些问题。比如:在页面加载的时候就使用这个索引来获取的时候就会报错,因为这时候表单里面根本没有任何数据。肯定会出现溢出,超出索引范围的错。

    所以推荐第二种。

    get的方式为Request.QueryString[];这个里面填写的是控件的名字。因为不常用就没什么多说的。

     

    简单了解了这两种表单提交的方式下面就直接看code


    varform = document.forms["填写需要提交的表单的ID"];
    
    form.action = "需要提交到的页面地址";
    
    form.method = "POST";
    
     form.submit();


    对只要这几句简单的代码,剩下的工作只需要到后台去拿就可以了。只要到了后台,剩下就是CS和数据库的知识了。调试起来会容易很多。

     

    利用location属性

     

     

    var startTime =document.getElementById("StartTime").nextSibling.childNodes[2].value;
    
    var endTime = document.getElementById("EndTime").nextSibling.childNodes[2].value;
    
    var keyword =document.getElementById("keyword").value;
    
    var category =document.getElementById("Category").nextSibling.childNodes[2].value;
    
    var t = "startTime=" +startTime + "&endTime=" + endTime + "&keyword=" +keyword + "&category=" + category;
    
    location ="admin_ManageScoreRule.aspx?"+t; 
    
     

    后台获取

     

     string startTime =Request.QueryString["startTime"];
    
    string endTime = Request.QueryString["endTime"];
    
    string keyword =Request.QueryString["keyword"];
    string category =Request.QueryString["category"];


     

    总结

     

       这些都是在BS设计中最常用的技术,更多的是还是要多多动手去实践。因为这些东西说半天都没有,只有用了一两次,调了半晌的错。这些自然而然就深入脑海了。

     

     


  • 相关阅读:
    IIS与ASP.NET中的线程池
    IIS与ASP.NET中的队列
    让ASP.NET OutputCache使用http.sys kernel-mode cache
    微软的坑:Url重写竟然会引起IIS内核模式缓存不工作
    实际案例:在现有代码中通过async/await实现并行
    困扰多日的C#调用Haskell问题竟然是Windows的一个坑
    C#调用haskell遭遇Attempted to read or write protected memory
    经过实际验证的C#调用Haskell的方法
    Haskell中cabal install glib遇到的问题
    Haskell ghci中调用pandoc的API进行markdown转换
  • 原文地址:https://www.cnblogs.com/guziming/p/4232710.html
Copyright © 2011-2022 走看看