gridview 里模板列里textbox 当textchanged触发gridview什么事件?

DareDevillll 2008-04-11 01:14:40
想实现功能: 修改textbox内容 传到后台 做点计算


RowDataBound 事件里尝试另注册事件 e.row.findControl("") 但找不到绑不上


...全文
691 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengxj85 2008-10-20
  • 打赏
  • 举报
回复
在编辑事件里动态加载事件
jeerisguo 2008-10-20
  • 打赏
  • 举报
回复
e.row.单元格.findControl("")
qq497525725 2008-10-20
  • 打赏
  • 举报
回复
顶 啊 不错 很有用啊谢谢
JustLovePro 2008-04-11
  • 打赏
  • 举报
回复
jf
DareDevillll 2008-04-11
  • 打赏
  • 举报
回复
搞定了 居然 忘加注册好的事件
oec2003 2008-04-11
  • 打赏
  • 举报
回复
晕多点了个标签进去了
oec2003 2008-04-11
  • 打赏
  • 举报
回复
在TextBox的onchange或是oblur事件中调用javascript方法去计算就可以啊,传到后台,可以使用ajax


<asp:TemplateField HeaderText="數量">
<ItemTemplate>
<input type="text" id="Quantity" maxlength="3" style="width:40px" onblur="[code=JScript]changeQty
(this)" value='<%# Eval("Quantity") %>' width="200"/>
</ItemTemplate>
</asp:TemplateField>
[/code]

function changeQty(obj)
{
var html = $.ajax({
url: "ShoppingCart.aspx?Qty="+obj.value,
async: false
}).responseText;}
......//将返回的结果放到送显

}




protected void Page_Load(object sender, EventArgs e)
{
Change(Request.Querystring["Qty"]);
}

private void Chagne(string qty)
{
...//做计算


Response.Write(结果);
}


仅供参考
DareDevillll 2008-04-11
  • 打赏
  • 举报
回复
绑上了 但事件 没有触发
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TextBox txtNumber = e.Row.FindControl("txtNumber") as TextBox;
txtNumber.TextChanged += new EventHandler(txtNumber_TextChanged);

}
}

protected void txtNumber_TextChanged(object sender, EventArgs e)
{

TextBox txtNumber = ((TextBox)sender);
if (EntityCache.CurrentCar.ContainsKey(int.Parse(txtNumber.ToolTip)))
{

EntityCache.CurrentCar[int.Parse(txtNumber.ToolTip)].Amount = double.Parse(txtNumber.Text);
EntityCache.CurrentCar[int.Parse(txtNumber.ToolTip)].TotalPrice = double.Parse(txtNumber.Text) * EntityCache.CurrentCar[int.Parse(txtNumber.ToolTip)].UnitPrice;
}

Ini();
}


前台:、

<asp:TemplateField HeaderText="数量">
<ItemTemplate>

<asp:TextBox ID="txtNumber" ToolTip='<%# Eval("ProductID") %>' AutoPostBack="true"
Text='<%# Eval("Amount") %>' runat="server" Width="40" CssClass="box" MaxLength="4"
onkeypress="if (event.keyCode < 48 || event.keyCode >57) event.returnValue = false;"></asp:TextBox>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" Width="10%" />
</asp:TemplateField>


懒牛科技 2008-04-11
  • 打赏
  • 举报
回复
首先判断是否是数据行

//具体预防忘记了
if (e.Row.RowType == DataControlRowType.DataRow)
{ }
virusswb 2008-04-11
  • 打赏
  • 举报
回复
试一试this.FindControl();
DareDevillll 2008-04-11
  • 打赏
  • 举报
回复

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧