CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

变量传递的问题

楼主pp1234567890(胖老虎)2003-09-01 23:34:49 在 .NET技术 / ASP.NET 提问

我在一个页面A.ASPX声明了一个全局变量public   aa   as   string,想在另一个页面用他,但是竟然不能用。  
  我该怎么用??? 问题点数:0、回复次数:21Top

1 楼saucer(思归)回复于 2003-09-01 23:37:43 得分 0

use   Session   variable   insteadTop

2 楼pp1234567890(胖老虎)回复于 2003-09-01 23:48:16 得分 0

楼上的,我这样用,主要是这样想的,连接的时候,比如登陆验证窗口要连接数据库,在连接字符串里有   USER   ID,PASSWORD,我想把登陆界面输入的帐号密码传递过来,这样我只要在SQL里增加用户和分配权限,就可以提高安全性,也不用考虑是FORM验证还是WINDOWS验证,不知道这样的想法正确吗??Top

3 楼coolmars(mars)回复于 2003-09-01 23:55:42 得分 0

用Session变量传递Top

4 楼pp1234567890(胖老虎)回复于 2003-09-02 00:38:55 得分 0

我写了,可是传递不到WEBCONFIG里,一执行就出错  
  ASP。X里  
                  Session("bid")   =   Request(TextBox1.Text)  
                  Session("bname")   =   Request(TextBox2.Text)  
                  Dim   constr   As   String   =   ConfigurationSettings.AppSettings("dme")  
                  Dim   cnn   As   New   SqlConnection(constr)  
                  Dim   sqlstr   As   String   =   "select   *   from   orders"  
                  Dim   cmd   As   New   SqlCommand(sqlstr,   cnn)  
                  cnn.Open()  
                  DataGrid1.DataSource   =   cmd.ExecuteReader  
                  DataGrid1.DataBind()  
                  cnn.Close()  
   
   
  WEBCONFIG  
          <appSettings>  
          <add   key="dme"   value="server=lizh;user   id="session("bid")";password="session("bname")";database=northwind"   />  
          </appSettings>  
   
  我该怎么改????Top

5 楼saucer(思归)回复于 2003-09-02 00:49:49 得分 0

<appSettings>  
          <add   key="dme"   value="server=lizh;user   id={0};password={1};database=northwind"   />  
          </appSettings>  
   
   
                  Session("bid")   =   Request(TextBox1.Text)  
                  Session("bname")   =   Request(TextBox2.Text)  
                  Dim   constr   As   String   =   String.Format(ConfigurationSettings.AppSettings("dme"),Session("bid"),Session("bname"))  
                  Dim   cnn   As   New   SqlConnection(constr)  
                  Dim   sqlstr   As   String   =   "select   *   from   orders"  
                  Dim   cmd   As   New   SqlCommand(sqlstr,   cnn)  
                  cnn.Open()  
                  DataGrid1.DataSource   =   cmd.ExecuteReader  
                  DataGrid1.DataBind()  
                  cnn.Close()  
   
  Top

6 楼pp1234567890(胖老虎)回复于 2003-09-02 00:55:18 得分 0

用户   '(null)'   登录失败。原因:   未与信任   SQL   Server   连接相关联  
  为什么要这样写{0}Top

7 楼saucer(思归)回复于 2003-09-02 00:59:39 得分 0

in   登陆验证page,   use  
   
  Session("bid")   =   Request(TextBox1.Text)  
  Session("bname")   =   Request(TextBox2.Text)  
   
   
  in   other   pages,   use  
   
                  Dim   constr   As   String   =   String.Format(ConfigurationSettings.AppSettings("dme"),Session("bid"),Session("bname"))  
                  Dim   cnn   As   New   SqlConnection(constr)  
                  Dim   sqlstr   As   String   =   "select   *   from   orders"  
                  Dim   cmd   As   New   SqlCommand(sqlstr,   cnn)  
                  cnn.Open()  
                  DataGrid1.DataSource   =   cmd.ExecuteReader  
                  DataGrid1.DataBind()  
                  cnn.Close()  
   
  >>>>为什么要这样写{0}  
   
  so   you   can   把登陆界面输入的帐号密码传递进去  
  Top

8 楼pp1234567890(胖老虎)回复于 2003-09-02 01:03:04 得分 0

>>>>为什么要这样写{0}  
   
  so   you   can   把登陆界面输入的帐号密码传递进去  
   
  高手,能讲讲为什么吗?结果很重要,但过程更重要呀,我理解了,下次就知道该怎么做了,可是你告诉我结果,我下次遇见了,不又的麻烦你。  
  对了,这样的安全性怎么样?利弊是什么?Top

9 楼pp1234567890(胖老虎)回复于 2003-09-02 01:08:44 得分 0

不行呀,还是出现同样的错误  
  System.Data.SqlClient.SqlException:   用户   '(null)'   登录失败。原因:   未与信任   SQL   Server   连接相关联。  
  Top

10 楼saucer(思归)回复于 2003-09-02 01:17:59 得分 0

your   connection   string   is   like  
   
  "server=lizh;user   id=YourUID;password=YourPassword;database=northwind"   />  
   
  but   you   want   to   change   YourUID   and   YourPassword   on   the   fly,   with  
   
  s   =     String.Format("server=lizh;user   id={0};password={1};database=northwind",Session("bid"),Session("bname"))  
   
  the   login   name   and   password   will   be   put   into   the   right   place   in   the   connection   string  
   
  >>>>不行呀,还是出现同样的错误  
   
  make   sure    
  Session("bid")   is   not   null,   read   my   post   carefully,   you   only   set   Session("bid")   in   your   登陆验证page,   but   just   use   them   in   other   pages  
   
  Top

11 楼pp1234567890(胖老虎)回复于 2003-09-02 01:22:54 得分 0

我用的帐号密码都是SA,如果换成正常的连接的写法,可以执行,我按照你说的,建立了两个页面  
  一个页面是  
          Private   Sub   Button1_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   Button1.Click  
                  Session("bid")   =   Request(TextBox1.Text)  
                  Session("bname")   =   Request(TextBox2.Text)  
                  Response.Redirect("webform2.aspx")  
          End   Sub  
  另一个是  
    Private   Sub   Page_Load(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Load  
                  '在此处放置初始化页的用户代码  
                  Dim   constr   As   String   =   String.Format(ConfigurationSettings.AppSettings("dme"),   Session("bid"),   Session("bname"))  
                  Dim   cnn   As   New   SqlConnection(constr)  
                  Dim   sqlstr   As   String   =   "select   *   from   orders"  
                  Dim   cmd   As   New   SqlCommand(sqlstr,   cnn)  
                  cnn.Open()  
                  DataGrid1.DataSource   =   cmd.ExecuteReader  
                  DataGrid1.DataBind()  
                  cnn.Close()  
          End   Sub  
   
  WEB。CONFIG  
          <appSettings>  
          <add   key="dme"   value="server=lizh;user   id={0};password={1};database=northwind"   />  
          </appSettings>Top

12 楼saucer(思归)回复于 2003-09-02 01:30:12 得分 0

if   you   write   out  
   
  Dim   constr   As   String   =   String.Format(ConfigurationSettings.AppSettings("dme"),   Session("bid"),   Session("bname"))  
  Response.Write("*****"   +   connstr   +   "*****")  
  Response.End()  
   
  what   do   you   see?Top

13 楼pp1234567890(胖老虎)回复于 2003-09-02 01:36:25 得分 0

ID   和PWD   怎么都是空呢?为什么???Top

14 楼pp1234567890(胖老虎)回复于 2003-09-02 01:37:23 得分 0

SESSION值怎么没有传递过来?Top

15 楼saucer(思归)回复于 2003-09-02 01:38:15 得分 0

Private   Sub   Button1_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   Button1.Click  
                  Session("bid")   =   TextBox1.Text  
                  Session("bname")   =   TextBox2.Text  
                  Response.Redirect("webform2.aspx")  
  End   Sub  
  Top

16 楼pp1234567890(胖老虎)回复于 2003-09-02 01:41:08 得分 0

我是这样写的呀,为什么SESSION   失效了Top

17 楼pp1234567890(胖老虎)回复于 2003-09-02 01:44:03 得分 0

成功了,但是按书上书的应该用REQUEST,但是为什么这里竟然没有值传递过来呢?还有,这样的安全性怎么样???Top

18 楼saucer(思归)回复于 2003-09-02 01:50:16 得分 0

they   are   server   controls,   otherwise,   you   could   do  
   
  Session("bid")   =   Request.Form("TextBox1")  
  Session("bname")   =   Request.Form("TextBox2")Top

19 楼pp1234567890(胖老虎)回复于 2003-09-02 01:53:07 得分 0

那这样的安全性如何???Top

20 楼pp1234567890(胖老虎)回复于 2003-09-02 01:58:44 得分 0

还有呀,随着我的参数增多,在WEB。CONF里的写法就象这个样子user   id={0};password={1};xx{x}...会越来越多Top

21 楼saucer(思归)回复于 2003-09-02 02:04:05 得分 0

安全性?   what   安全性??  
   
  they   are   in   the   session   variables,   on   the   server   side  
   
  but   frankly,   your   method   doesn't   look   good,   since   it   allows   people   to   try/break   uid/pwd,   if   you   want   security,   try   authentication   insteadTop

相关问题

  • 变量传递
  • 变量的传递!
  • session变量传递
  • 怎么传递变量?
  • 如果传递变量值!
  • 急!!变量的传递
  • 关于变量的传递
  • 变量如何传递
  • 变量传递问题
  • 关于传递变量

关键词

  • 安全性
  • 帐号
  • 页面
  • 连接
  • 密码
  • 验证
  • 界面
  • datagrid
  • 用户
  • bname

得分解答快速导航

  • 帖主:pp1234567890

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo