我正在使用带有C#的asp.net 3.5.当用户在txtProductID中输入ProductID时,我需要进行数据库查找.我想做javascript是不可能的,因为这将是服务器端调用.我在网页的page_load事件中写了这段代码:
protected void Page_Load(object sender, EventArgs e)
{
txtProductID.Attributes.Add("onblur", "LookupProduct()");
}
protected void LookupProduct()
{
//Lookup Product information on onBlur event;
}
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:Microsoft JScript运行时错误:预期的对象如何解决此问题?
onblur是一个客户端事件. LookupProduct是服务器端方法.你不能从另一个中引用一个 - 两者之间根本没有任何关联.
没有快速解决方法 - 您必须在客户端事件(使用ClientScriptManager.GetPostBackEventReference)上触发回发或使用Microsoft ASP.NET Ajax等库实现Ajax回调.
或者,如果您不需要在每次模糊时触发此事件,并且仅在文本更改时,则可以只使用服务器端TextBox.OnChanged事件并将TextBox的AutoPostBack属性设置为true.确保你记得设置AutoPostBack,否则这不会让你到任何地方.
使用TextBox.TextChanged事件。
ASPX 标记:
<asp:TextBox ID="txtProductID" runat="server" AutoPostBack="true" OnTextChanged="txtProductID_TextChanged" />
Run Code Online (Sandbox Code Playgroud)
隐藏代码:
protected void txtProductID_TextChanged(object sender, EventArgs e)
{
// do your database query here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9803 次 |
| 最近记录: |