1.aspx和2.aspx
1载入的时候,弹出2,2中Listbox选择一个值(班级)后,将此值返回给1,比如1班
然后1根据这个值,到数据库查相应的数据(1班所有学生的信息),结果显示在DataGrid中我用的是vs.net 2003,现在的问题是 怎样根据这个返回值去查数据库呢?
用什么方法呢?

解决方案 »

  1.   

    还有个问题是:
    我的TextBox1_TextChanged事件怎么也触发不了
    autopostback 已经 = true 了
    在TextBox1中输入还是没有响应
      

  2.   

    //1载入的时候,弹出2,2中Listbox选择一个值(班级)后,将此值返回给1,
    这个用JS就可以搞定了,通过opener得到2种的控件的值。//然后1根据这个值,到数据库查相应的数据(1班所有学生的信息),结果显示在DataGrid中
    这个用"select * from table where field = '" + yourvalue + "'"类似方法可以搞定。
    至于如何查,你输入SqlConnection, SqlCommand, SqlDataReader这些东西,然后按F1看看MSDN就会了。//我的TextBox1_TextChanged事件怎么也触发不了
    //autopostback 已经 = true 了
    //extBox1中输入还是没有响应
    这个可不是和WINFORM里一样了,这里所谓的TextChanged ,是你数据提交到服务器后由服务器来判断是否发生了变化,如果变化才触发这个事件。所以你就算设置TRUE也没用。
    一个变通的方法是:你用js脚本判断是否文本发生了变化。如果变化了则调用服务器脚本(如果你能使用AJAX来调用是最好了)
      

  3.   

    1,如果是兩個aspx文件,要實現返回值並查詢,不簡單。
    2,textChagned事件並不是輸入馬上觸發,而是當TextBox失去焦點後才觸發
    建議:LZ在同一個頁面裡用<Div>來實現。
      

  4.   

    //然后1根据这个值,到数据库查相应的数据(1班所有学生的信息),结果显示在DataGrid中
    这个用"select * from table where field = '" + yourvalue + "'"类似方法可以搞定。
    至于如何查,你输入SqlConnection, SqlCommand, SqlDataReader这些东西,然后按F1看看MSDN就会了。----
    这位兄弟大概是理解错我的意思了,如果用按钮的话,很容易实现。这个我会
    现在的问题是在2中选择了后,返回一个值给1,然后1立即执行,而不是人工再去点按钮去查询,自动查询
      

  5.   

    同意ParadiseX(俺的性欲咋就那么低?难道是忘记结扎帖子的缘故?)
      

  6.   

    现在不说那个TextBox1_TextChanged 问题了,
    把重心转移到查询上来
    呵呵~~
      

  7.   

    //这位兄弟大概是理解错我的意思了,如果用按钮的话,很容易实现。这个我会/
    //现在的问题是在2中选择了后,返回一个值给1,然后1立即执行,而不是人工再去点按钮去查询,自动查询如果这样的话,建议你还是用AJAX的比较好,否则页面的效果很差的,老是刷新。
    以下是不用AJAX的操作方法:
      

  8.   

    首先你要听说过下面的JS的用途,它是ASPX为了在客户端调用服务器方法而自动生成的一段脚本代码
    <script language="javascript">
    <!--
    function __doPostBack(eventTarget, eventArgument) {
    var theform;
    if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
    theform = document.forms["Form1"];
    }
    else {
    theform = document.Form1;
    }
    theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
    theform.__EVENTARGUMENT.value = eventArgument;
    theform.submit();
    }
    // -->
    </script>由此我们可以知道ASPX为了能够执行服务器方法,是使用了HIDDEN作标记,然后调用SUBMIT提交页面,执行方法。这样的话,我们是不是也可以这样:
    你从2页面得到了返回的值后:
    <script>
    fucntion GetDataformReturnValue(myValue)
    {
        var theform;
        theform = document.Form1;    theform.__MYMETHODNAME.value = "getData";
        theform.__MYARG.value = myValue;
        theform.submit();
    }然后你在后台判断一下__MYMETHODNAME是不是等于getData,如果等于则调用后台的一个方法:
    DataTable = getDataFromDB(__MYARG.value);这样就可以实现你的要求了,但是强烈不要这样,老师刷新页面。(最关键的是你之前说了一句话:1载入的时候,弹出2....嘿嘿,你这样就完蛋啦,除非你让2是你手动弹出)