关于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