多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
由于项目需要做一套调查问卷,但客户要求调查问卷的题目,必须是纯html标签,于是就面临着一系列的问题 **1页面如何提交** 用户做完了调查问卷,调查的结果如何提交? **2如何给页面传递参数** 同一个调查问卷,多个人提交后,管理人员查看调查问卷,如何传递参数,保证看到的数据是指定某一个人的调查问卷。其实这个问题,在asp.net中使用最简单的查询字符串就可以解决,但在纯html中,如何传递参数? **3如何验证用户身份** 在用户登陆后,才能答卷,如何验证用户是否登录呢? 整个系统都使用html实现?能完成吗?似乎不行,毕竟提交的数据需要保存到数据库中,这个恐怕不是纯html可以完成的。 所以基本思路就是前台全部使用html静态网页,但后台却必须使用csharp代码配合。 **1页面如何提交** 其实纯html可以提交,主要是通过标签form。 例如如下代码,在提交到savedata.aspx后,就可以获得用户输入的所有的数据,在进行处理后保存到数据库,可以通过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> ~~~ **2如何给页面传递参数 ** 在asp.net中给页面传递参数其实最简单就是通过查询字符串,但纯html了网页是静态网页,没有对应页面的后台,如何传递参数 例如同一套问卷,张三,李四都解答了问卷,管理员要查看张三的问卷,如何把张三的答案重新赋值给问卷的试题? 由于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 ""; } } ~~~ 当然还有一种方法,因为读取数据是要通过后台的,所以可以根据Session中的信息来获取参数,但如果Session中没有相关信息,就只能通过通过查询字符串的方式了。 例如此处的例子,就只能通过查询字符串的方式了。 **3如何验证用户身份** 既然整个系统没有办法只是用html完成,前台展示是纯html,后台是csharp代码,自然也就存在Session,当然也就可以验证用户身份了。如果需要判断静态的html页面是否过期,可以通过ajax调用后台方法,根据Session是否存在判断用户是否登录以及是否过期等判断。