解决这个问题,得需要使用onblur来实现。下面代码并非是专案实现代码,只是模拟相同的功能。
<!--ajax实现页面不闪烁,一直是insus.net所喜欢使用的-->
<asp:scriptmanager id="scriptmanager1" runat="server">
</asp:scriptmanager>
<asp:updatepanel id="updatepanel1" runat="server">
<contenttemplate>
<div>
<!--放置一个textbox,让用户输入data-->
<asp:textbox id="textbox1" runat="server"></asp:textbox>
<!--放置一个linkbutton,提交数据-->
<asp:linkbutton id="linkbutton1" runat="server" text="submit" onclick="linkbutton1_click"></asp:linkbutton>
</div>
</contenttemplate>
</asp:updatepanel>
.aspx.cs:
using system;
using system.collections.generic;
using system.drawing;
using system.linq;
using system.web;
using system.web.ui;
using system.web.ui.webcontrols;
using insus.net;
public partial class _default : system.web.ui.page{
protected void page_load(object sender, eventargs e)
{
data_binding();
}
private void data_binding()
{
}
protected void linkbutton1_click(object sender, eventargs e)
{
//这里写提交到数据库中
//下面是demo使用
insusjsutility objjs = new insusjsutility();
if (string.isnullorempty(this.textbox1.text.trim()))
{
objjs.jsalert("没有数据可提交。");
return;
}
objjs.jsalert("数据已经提交:" + this.textbox1.text);
}
}
上面demo还是需要用户点击linkbutton来提交数据。为了textbox的onblur能执行linkbutton的相同的事件,只要找到linkbutton的"__dopostback()"。我们可以在run的页面,查看源代码:
把上面的yellow高亮的代码附加入textbox作为onblur事件。下面代码写到.aspx.cs的data_binding()内。
this.textbox1.attributes.add("onblur", "__dopostback('linkbutton1','')");
最后,我们需要把linkbutton的text="submit"改为 text="",目的是为了把linkbutton隐藏。
如对本文有疑问,
点击进行留言回复!!
网友评论