首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

对于User Control做HTML生成,调用ajax后控件id改变

2011-12-15 
关于User Control做HTML生成,调用ajax后控件id改变有一个用户控件,里面放的数据绑定控件ListView,存放购物

关于User Control做HTML生成,调用ajax后控件id改变
有一个用户控件,里面放的数据绑定控件ListView,存放购物车的数据,有个隐藏域
<input id="hNum" type="hidden" runat="server" name="hNum" />
,加个ashx加载这个用户控件
  context.Response.ContentType = "text/plain";
  ViewManager<ShopCart> viewManager = new ViewManager<ShopCart>();
  ShopCart control = viewManager.LoadViewControl("~/Order/ShopCart.ascx");
  control.ProductID = context.Request.QueryString["productId"];
  control.Acion = context.Request.QueryString["action"];
  control.num = Convert.ToInt32(context.Request.QueryString["productCount"].ToString());
  context.Response.Write(viewManager.RenderView(control));


不点击删除购物车 或不点击 更改数量, 隐藏域id="ShopCart1_hNum" ,
但是点击删除购物车 或点击 更改数量 就获取不到这个 id="ShopCart1_hNum" ,
点击 删除购物车 或点击 更改数量 用户控件里有这个操作:
  if (productsList != null)
  {
  if (productsList.Count > 0)
  {
  ListView1.DataSource = productsList;
  ListView1.DataBind();
  this.hNum.Value = "1";
  }
  else
  {
  ltlNoPro.Text = "<table id='Table1' width=920' border='0' cellspacing='0' cellpadding='0' align='center' style='margin-top:20px; margin:0 auto; text-align:center;'><tr><td>购物车还没有商品</td></tr></table>";
  this.hNum.Value = "0";
  }
  }
不知道为啥id会变

[解决办法]
id是会变的,但是变的很有规律,用这个id也可以的
[解决办法]
hNum 变成了 ShopCart1_hNum ?
是不是先要在页面找到这个用户控件 ~
[解决办法]
右键查看html代码看看生成什么了。根据生成的ID找到规律进行操作
[解决办法]
用ShopCart1.ClientID

热点排行