textbox onclik事件调用JS方法 <script language="text/javascript"> function find() { document.getElementById("TextBox2").value="<%= ga()%>"; }</script> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个好像是一样的,问题主要是我没有点textbox2 它就自动进行了数据查询,可是textbox1是空的所以没有任何数据行,但问题就是我没点击textbox2 它怎么就自动运行了ga()方法呢? 又是一个本意用想JS 直接调用后台方法的第一次加载的时候this.TextBox1.Text.Trim() 值为空dt中没有数据,,所以异常了。。 那怎么控制textbox1 的值呢 我主要是想用textbox2的onClick来控制对数据库的调用 该怎么办啊。哎呀急死了!!!!!!!!! 不刷新的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 面向服务就应该要表明提供什么服务,不要你要在.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); } 靠,发错贴了。为什么不用ajax呢 不用 onClick 用 OnTextChanged 时间`` return dt.Rows[0]["ClassInfo"].ToString().Trim();在这里还要判断一下 如果没有数据就返回""; 不然很容易报错` document.form1.TextBox2.value="<%= ga()%>";ga() 这个方法页面加载的时候就执行了,后页Js只调用不会执行,只是得到页面加载时的结果所以加载时 ga() 如果有错,那它就有错 OnTextChanged 事件具体怎么调用jS的find()呢? 你要调用JS 的 find 做什么事件都回发了,,直接后台赋值不就行了,, 具体跟哪个按钮写OnTextChanged 事件啊,我试了一下好像都没反应 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 其实ajax的资料很多,你可以看下 jquery ajax的操作!或者使用像楼上说的TextChanged事件 <asp:TextBox ID="TextBox1" runat="server" ontextchanged="TextBox1_TextChanged" AutoPostBack="true"></asp:TextBox> textbox1调用的是什么事件啊!~~~ 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 ""; } 但这样就是TextBox1有值 再点击TextBox2 也没反应 简单计算器 只要实现数字间的运算就行 还原.BAK数据文件 突然发现Lambda表达式,只能 水晶报表导出excel报错 图表区死气沉沉 还是来老家发贴吧 今天面试试题,求答案... 一个数据库设计的问题,都说一下自已的看法 求助大神 请问!怎么才能将图片存进数据库中???????????? 亚马逊网上书店在中国的市场的新措施是什么 help!help! 如何在C# winform显示3D max文件的呢 WebService 返回乱码
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);
}
为什么不用ajax呢
在这里还要判断一下 如果没有数据就返回""; 不然很容易报错`
ga() 这个方法页面加载的时候就执行了,后页Js只调用不会执行,只是得到页面加载时的结果所以加载时 ga() 如果有错,那它就有错
{
DataTable dt= DBHelper.GetDataSet("select * from Classtable where ClassName='"+this.TextBox1.Text.Trim()+"'");
return dt.Rows[0]["ClassInfo"].ToString().Trim();
}
上面的方法 是在你页面加载的时候 就执行了!但是页面加载的时候TextBox1中没有值,所以导致你查询出来的数据是NULL。前台和后台交互 建议看看 ajax
<asp:TextBox ID="TextBox1" runat="server"
ontextchanged="TextBox1_TextChanged" AutoPostBack="true"></asp:TextBox>
{
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 "";
}