建议你用javascript来作
把javascript function绑定到textbox的onblur事件上
把javascript function绑定到textbox的onblur事件上
解决方案 »
- VS2008/Visual Studio.net 2008怎么调试JavaScript代码呀
- 请问在asp.net下为什么ajax失败
- 两个时间相减,返回相差的小时数
- 自己做小网站(ACCESS数据库)是先做后台,还是先做前台?
- Visual Studio 2005 程序员的工作!!!
- window.confirm弹出的是 确认 取消 对话框,如何弹出 是 否 对话框?谢谢!!
- 公司给我一个我没看到过的问题..非常奇怪..可能是我刚出来..不知道你们有没有做过!!!!
- 不用file控件,如何保存文件到数据库?
- 请问大家开发asp.net都用什么工具,Visual Studio.net还是dreamweaver或者其他,什么工具最好?
- 配置错误!如何解决...请大家帮忙!/???急急!
- 这样的问题怎样解决
- 问个很白痴的问题
把alert('ok')用客户端函数代替
如下:
在aspx html<script language="javascript">
function mess(var line,var texbox)
{
alert('当前id," + line+ "');
alert(textbox.value);
}</script>Item_databound里面
TextBox tb = (TextBox)e.Item.FindControl("tb_Price");
tb.Attributes.Add("onblur","javascript:checkRowNumber(this," +
e.Item.Cells[ 14 ].Text + "," + e.Item.Cells[11].Text
+ ");return false;");
1、在js中引发事件
2、使用xmlhttp或者使用WebService Behavior 来调用后台的方法。
例子:
var objHttp;
var strXml;
strXml="";
strXml+="<Form2Exist><Action>Tell</Action>";
strXml+="</Form2Exist>";
objHttp=new ActiveXObject("Msxml2.XMLHTTP");
objHttp.open("POST","WebForm3.aspx",false);
objHttp.send(strXml); 后台代码:
private void Page_Load(object sender, System.EventArgs e)
{
//´¦Àí´«ÈëµÄÇëÇó
try
{
StreamReader sReader = new StreamReader(Request.InputStream);
char[] Buffer = new char[Request.InputStream.Length];
Buffer.Initialize();
sReader.Read(Buffer,0,Convert.ToInt32(Request.InputStream.Length));
string strXML = new string(Buffer);
sReader.Close(); XmlDocument objXMLDoc = new XmlDocument();
objXMLDoc.LoadXml(strXML);
string action = objXMLDoc.SelectSingleNode("//Action").InnerText;
if (action=="Tell")
{
Session["EXIST"] = null;
} }
catch
{
}
}
怎样知道引发事件的datalist的Item号?
这是我按你的思路写的代码
<asp:TextBox id="TbxCoins" runat="server" onblur="if(!/^\d+$/.test(value)){alert('请输入数字');focus()}else{location.href('TbxOnblur.aspx');}" Width="50" Text='<%# DataBinder.Eval(Container.DataItem, "Coin") %>'></asp:TextBox>
我的datalist的DataKeyField="RowID"
如何把引发跳转页面事件这一行的RowID和TextBox的value作为参数附在'TbxOnblur.aspx后传过去,能帮把这一点code写出来吗?
更新
</asp:Linkbutton>
---------------------------------------------------
<%@Page Language="C#"%>
<%@Import Namespace="System.Data"%><script runat="server">
void Page_Load(object src,EventArgs e){
if(!Page.IsPostBack){
BindData();
}
}void BindData(){
DataTable table=(DataTable)Cache["mytable"];
if(table==null){
table=new DataTable();
DataColumn column=new DataColumn("序号",typeof(int));
column.AutoIncrement=true;
column.AutoIncrementSeed=1;
column.Unique=true;
table.Columns.Add(column);
table.Columns.Add(new DataColumn("姓名",typeof(string)));
table.Columns.Add(new DataColumn("住址",typeof(string)));
table.Columns.Add(new DataColumn("分数",typeof(int)));
DataRow row=table.NewRow();
row["姓名"]="张三";
row["住址"]="陕西省吴旗县";
row["分数"]=22;
table.Rows.Add(row);
row=table.NewRow();
row["姓名"]="李四";
row["住址"]="陕西省延安市";
row["分数"]=26;
table.Rows.Add(row);
table.PrimaryKey=new DataColumn[]{column};
Cache["mytable"]=table;
}
dlist.DataSource=table;
dlist.DataBind();
}void BindDataItem(object src,DataListItemEventArgs e){
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem){
TextBox box=e.Item.FindControl("txtbox") as TextBox;
LinkButton btn=e.Item.FindControl("btn") as LinkButton;
if(box!=null&&btn!=null){
box.Attributes.Add("onchange",this.GetPostBackEventReference(btn));
}
}
}void UpdateTable(object src,DataListCommandEventArgs e){
DataTable table=(DataTable)Cache["mytable"];
TextBox box=e.Item.FindControl("txtbox") as TextBox;
if(box!=null){
table.Rows[e.Item.ItemIndex]["分数"]=int.Parse(box.Text);
Cache["mytable"]=table;
BindData();
}
}
</script>
<HTML>
<HEAD>
<TITLE> Webdiyer制造:) </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Webdiyer">
</HEAD><BODY>
<form runat="server">
<asp:DataList runat="server" id="dlist" OnItemDataBound="BindDataItem" onUpdateCommand="UpdateTable">
<ItemTemplate>
姓名:<%#DataBinder.Eval(Container.DataItem,"姓名")%>
分数:<asp:TextBox runat="server" id="txtbox" Text='<%#DataBinder.Eval(Container.DataItem,"分数")%>'/><br>
<asp:LinkButton Text="Update" CommandName="Update" runat="server" id="btn" visible=false/>
</ItemTemplate>
</asp:DataList>
</form>
</BODY>
</HTML>
你的方法ok,可以了!
看来我最初的思路是对的,还是利用datalist的OnItemCommand事件,而此事件需要一个按钮事件来调用(button、linkbutton),于是
box.Attributes.Add("onchange",this.GetPostBackEventReference(btn));
让textbox的onchange事件引发linkbutton的click回送
使textbox的onchange和datalist的OnItemCommand联系起来,问题解决!谢谢各位!结贴送分!