由于项目需要做一套调查问卷,但客户要求调查问卷的题目,必须是纯html标签,于是就面临着一系列的问题

1页面如何提交

  用户做完了调查问卷,调查的结果如何提交?

2如何给页面传递参数

同一个调查问卷,多个人提交后,管理人员查看调查问卷,如何传递参数,保证看到的数据是指定某一个人的调查问卷。其实这个问题,在asp.net中使用最简单的查询字符串就可以解决,但在纯html中,如何传递参数?

3如何验证用户身份

  在用户登陆后,才能答卷,如何验证用户是否登录呢?

 


整个系统都使用html实现?能完成吗?似乎不行,毕竟提交的数据需要保存到中,这个恐怕不是纯html可以完成的。

所以基本思路就是前台全部使用html静态网页,但后台却必须使用csharp代码配合。

 


1页面如何提交


  其实纯html可以提交,主要是通过标签form。

例如如下代码,在提交到savedata.x后,就可以获得用户输入的所有的数据,在进行处理后保存到数据库,可以通过ajax提交,也可以通过input的 type为submit的标签提交。

 <input type="submit" value="Submit" />

 

<form action="savedata.aspx" method="post"> 
  <p>First name: <input type="text" name="fname" /></p> 
  <p>Last name: <input type="text" name="lname" /></p> 
  <input type="submit" value="Submit" /> 
</form> 

<form action="savedata.aspx" method="post">
  <p>First name: <input type="text" name="fname" /></p>
  <p>Last name: <input type="text" name="lname" /></p>
  <input type="submit" value="Submit" />
</form>


2如何给页面传递参数 

 在asp.net中给页面传递参数其实最简单就是通过查询字符串,但纯了网页是静态网页,没有对应页面的后台,如何传递参数

例如同一套问卷,张三,李四都解答了问卷,管理员要查看张三的问卷,如何把张三的答案重新赋值给问卷的试题?

由于html是是静态页面,想要读取数据,就必须通过ajax动态读取答案,然后再修改静态页面。但如何传递表示某一个人的参数呢?

其实还是通过查询字符串,但分析查询字符串的方法从后台变为前台,变成了通过js去分析查询字符串,然后通过ajax读取数据。


 

function QueryString(name ) 
{    
   var sURL = window.location.search     
   var re = new RegExp("" +name+ "=([^&?]+)", "ig");        
   var result=  re.exec(sURL);  
    if(result) 
    { 
        var temp= result[0].split('=');   
       return   temp[1] ;  
  } 
  else 
  { 
  return "";  
  } 
} 

 function QueryString(name )
 { 
    var sURL = window.location.search 
    var re = new RegExp("" +name+ "=([^&?]+)", "ig");   
    var result=  re.exec(sURL);
     if(result)
  {
         var temp= result[0].split('='); 
        return  temp[1] ;
   }
   else
   {
   return "";
   }
 }

当然还有一种方法,因为读取数据是要通过后台的,所以可以根据Session中的信息来获取参数,但如果Session中没有相关信息,就只能通过通过查询字符串的方式了。

例如此处的例子,就只能通过查询字符串的方式了。

 


3如何验证用户身份


  既然整个没有办法只是用html完成,前台展示是纯html,后台是csharp代码,自然也就存在Session,当然也就可以验证用户身份了。如果需要判断静态的html页面是否过期,可以通过ajax调用后台方法,根据Session是否存在判断用户是否登录以及是否过期等判断。