<script language="text/javascript">
  function find()
  {
  document.getElementById("TextBox2").value="<%= ga()%>";
  }
</script>

解决方案 »

  1.   

    这个好像是一样的,问题主要是我没有点textbox2 它就自动进行了数据查询,可是textbox1是空的所以没有任何数据行,但问题就是我没点击textbox2 它怎么就自动运行了ga()方法呢?
      

  2.   

    又是一个本意用想JS 直接调用后台方法的第一次加载的时候this.TextBox1.Text.Trim() 值为空dt中没有数据,,所以异常了。。
      

  3.   

    那怎么控制textbox1 的值呢   我主要是想用textbox2的onClick来控制对数据库的调用 该怎么办啊。哎呀急死了!!!!!!!!!
      

  4.   

    不刷新的http://topic.csdn.net/u/20100325/08/0f7740be-e976-4f1a-86ad-285c78f857e9.html刷新的http://topic.csdn.net/u/20100511/16/8b60d4ce-aaa2-436f-ac9f-cde6cdec4c51.html
      

  5.   

    面向服务就应该要表明提供什么服务,不要你要在.net下用的话,也可以。using System;
    using System.Collections.Generic;
    using System.Runtime.Serialization;
    using System.ServiceModel.Channels;
    using System.ServiceModel.Description;
    using System.ServiceModel.Dispatcher;
    using System.Xml;namespace NetContract
    {
    public class NetDataContractAttribute : Attribute, IOperationBehavior
    {
    public void AddBindingParameters(OperationDescription description, BindingParameterCollection parameters)
    {
    }
    public void ApplyClientBehavior(OperationDescription description, ClientOperation proxy)
    {
    ReplaceDataContractSerializerOperationBehavior(description);
    }
    public void ApplyDispatchBehavior(OperationDescription description, DispatchOperation dispatch)
    {
    ReplaceDataContractSerializerOperationBehavior(description);
    }
    public void Validate(OperationDescription description)
    {
    } private static void ReplaceDataContractSerializerOperationBehavior(OperationDescription description)
    {
    DataContractSerializerOperationBehavior dcsOperationBehavior = description.Behaviors.Find<DataContractSerializerOperationBehavior>();
    if (dcsOperationBehavior != null)
    {
    description.Behaviors.Remove(dcsOperationBehavior);
    description.Behaviors.Add(new NetDataContractSerializerOperationBehavior(description));
    }
    }
    public class NetDataContractSerializerOperationBehavior : DataContractSerializerOperationBehavior
    {
    public NetDataContractSerializerOperationBehavior(OperationDescription operationDescription) : base(operationDescription)
    {
    }
    public override XmlObjectSerializer CreateSerializer(Type type, string name, string ns, IList<Type> knownTypes)
    {
    return new NetDataContractSerializer();
    }
    public override XmlObjectSerializer CreateSerializer(Type type, XmlDictionaryString name, XmlDictionaryString ns, IList<Type> knownTypes)
    {
    return new NetDataContractSerializer();
    }
    }
    }
    }
    用这段代码后,在domain中的类就不用加[DataContract]
    在接口上加 [NetDataContract]public interface IBaseServer
        {
            [OperationContract(Name = "1")]
            [NetDataContract]
            IList GetList(string statementname, object dataobject);
        }
      

  6.   

    靠,发错贴了。
    为什么不用ajax呢
      

  7.   

    不用 onClick  用 OnTextChanged  时间`` 
      

  8.   

    return dt.Rows[0]["ClassInfo"].ToString().Trim();
    在这里还要判断一下  如果没有数据就返回"";  不然很容易报错` 
      

  9.   

    document.form1.TextBox2.value="<%= ga()%>";
    ga() 这个方法页面加载的时候就执行了,后页Js只调用不会执行,只是得到页面加载时的结果所以加载时 ga() 如果有错,那它就有错
      

  10.   

    OnTextChanged 事件具体怎么调用jS的find()呢?
      

  11.   

    你要调用JS 的 find 做什么事件都回发了,,直接后台赋值不就行了,,
      

  12.   

    具体跟哪个按钮写OnTextChanged 事件啊,我试了一下好像都没反应
      

  13.   

    LZ好多逻辑没搞清楚public string ga()
      {
      DataTable dt= DBHelper.GetDataSet("select * from Classtable where ClassName='"+this.TextBox1.Text.Trim()+"'");
      return dt.Rows[0]["ClassInfo"].ToString().Trim();
      }
    上面的方法 是在你页面加载的时候 就执行了!但是页面加载的时候TextBox1中没有值,所以导致你查询出来的数据是NULL。前台和后台交互 建议看看 ajax
      

  14.   

    其实ajax的资料很多,你可以看下 jquery ajax的操作!或者使用像楼上说的TextChanged事件
     <asp:TextBox ID="TextBox1" runat="server" 
                ontextchanged="TextBox1_TextChanged" AutoPostBack="true"></asp:TextBox>
      

  15.   

    textbox1调用的是什么事件啊!~~~
      

  16.   

     public string ga()
      {
      DataTable dt= DBHelper.GetDataSet("select * from Classtable where ClassName='"+this.TextBox1.Text.Trim()+"'");
      return dt.Rows[0]["ClassInfo"].ToString().Trim();
      }
    报错是:在0处没有任何行。
    应该是dt.Rows[0]["ClassInfo"].ToString().Trim(); 这里的0报错了
     建议:
    public string ga()
      {
      DataTable dt= DBHelper.GetDataSet("select * from Classtable where ClassName='"+this.TextBox1.Text.Trim()+"'");
      if(dt.Rows.Count>0)
       {
        return dt.Rows[0]["ClassInfo"].ToString().Trim();
       }
        return "";
      }
      

  17.   

    但这样就是TextBox1有值  再点击TextBox2 也没反应