日期:2014-05-19  浏览次数:20483 次

一个奇怪的问题,怎么会取不到正确的值?求大家帮我看看吧.
在DataGrid中
<asp:TemplateColumn>
<ItemTemplate>
<asp:Image   id= "Image1 "   runat= "server "   ImageUrl= "../../img/category.gif "   Width= "0px "> </asp:Image>
</ItemTemplate>
</asp:TemplateColumn>
..............................................
  当我点击一行时,原来的image的width= "0px "会变成 "10PX ",在网页上也能看到效果,我在CS中用
String   selectedID   =   string.Empty;
foreach   (DataGridItem   item   in   gridpact.Items)
{  
    System.Web.UI.WebControls.Image   img=(System.Web.UI.WebControls.Image)    
  item.FindControl(controlID);
  if(img.Width==Unit.Pixel(10))
  selectedID   +=   item.Cells[1].Text.Trim()+ ", ";

......
来取值,但取的值始终是image的width= "0px "的行所在的值.而不是取得width= "10px '所在行的值.
                  这个问题太郁闷了,大家看看是哪里错了.谢谢

------解决方案--------------------
不可能取到“10px”。这个值只是输出成html,你在哪里看到根据说它可以读取浏览器值了?!

另外你应该从http的get、post基本信令学起,如果有人讲,它只需要30分钟课程。有了一点基础,你可以直接推测出答案:根本不提交dhtml对象的style给服务器,就别说再在服务器端把复杂的style解析了。

不要在钻这个牛角尖了。如果以后有机会,深入一点学,可以少走弯路。
------解决方案--------------------
肯定不能取到HTML的值.