如何在Repeater控件中,执行textbox的ontextchanged事件?

页面中,textbox的代码:<asp:TextBoxID="P_Quantity"runat="server"CssClass="quantity_txt"Text='... 页面中,textbox的代码:
<asp:TextBox ID="P_Quantity" runat="server" CssClass="quantity_txt" Text='<%# Eval("Quantity") %>' ontextchanged="P_Q_TextChanged" ToolTip='<%# Eval("SCId") %>' AutoPostBack="true" ></asp:TextBox>

后台,ontextchanged事件代码:
protected void P_Q_TextChanged(object sender, EventArgs e)
{
TextBox textBox = (TextBox)sender;
RepeaterItem repeaterItem = (RepeaterItem)textBox.Parent;
TextBox txtId = (TextBox)repeaterItem.FindControl("P_Quantity");

string str = "Data Source=.;Initial Catalog=EB_SHOP_DB;User ID=sa;Password=123456;";
SqlConnection conn = new SqlConnection(str);
try
{
conn.Open();
str = "update ShoppingCart set Quantity='" + txtId.Text + "',TotalPrice=" + txtId.Text + "*Price where SCId='" + txtId.ToolTip + "'";
SqlCommand cmd = new SqlCommand(str, conn);
cmd.ExecuteNonQuery();
cmd.Dispose();
ShowProductList();
}
catch
{
this.ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('修改购买数量失败')</script>");
}
finally
{
conn.Close();
conn.Dispose();
}
}

现在的问题是,我在textbox内输入数据后,ontextchanged事件里的代码并不执行。而且,页面中,textbox的值又会变成我输入之前的数据。请问高手怎么解决。
展开
 我来答
20127820
2012-05-30 · TA获得超过243个赞
知道小有建树答主
回答量:1274
采纳率:83%
帮助的人:577万
展开全部
</form></body></html>程序如上,中textbox服务器控件不能响应回车,单击,改变,.事件(服务器事件) 要想v
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-05-30
展开全部
PageLoad事件里加上if(!IsPostBack)
将ontextchanged事件里代码放到Repeater1_ItemCommand试试
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式