当前位置:编程学习 > C#/ASP.NET >>

为什么我在前台页面中没法取到值?

我在前台定义了一个模板列,如下:
<asp:TemplateField>
    <ItemTemplate>
         <a onclick="ShowWindowDialog({Url:'WMSCurrentStockPop.aspx?data=<%# this.UrlEncrypt("InvCode="+DataBinder.Eval(Container.DataItem,"cInvCode")+"&InvName="+DataBinder.Eval(Container.DataItem,"cInvName")+"&SystemID=" + this.ddlCorp.SelectedValue + "&WhCode=" + GetWhCode()) %>',Width:880,Height:525})" style="cursor: pointer;"><font color="blue">现存量</font></a>
      </ItemTemplate>
      <HeaderStyle Font-Bold="True" HorizontalAlign="center" />
      <ItemStyle HorizontalAlign="center" Width="40px" />
</asp:TemplateField>


在后台定义了GetWhCode()方法如下:
public string GetWhCode()
{
   string result = this.ddlWarehouse.SelectedValue;
   return result;
}

这里前面两个参数InvCode、InvName都是GridView中的值,而后面两个个参数SystemID、WhCode是页面上其他控件的值。我本来是想将控件ddlWarehouse的SelectedValue通过参数WhCode传给'WMSCurrentStockPop.aspx。

现在的问题是:
第一次传入的值是正确的,第二次及以后改变ddlWarehouse的SelectedValue,传入后取出均是第一的那个值。比如页面打开,我选择ddlWarehouse为“成品仓库”,此时通过参数传入取出是没问题的。然后我改变ddlWarehouse的选择项为“办公用品库”,结果通过参数传入取出时,仍然是“成品仓库”。为什么没改变呢。我已经设置ddlWarehouse的AutoPostBack="True"了。
不知道是什么原因导致的,请支招,谢谢。 --------------------编程问答-------------------- 要在databound事件里面先find去找到你的ddlWarehouse控件,然后再this.ddlWarehouse.SelectedValue;取值。

LZ可以断点调试一下,如果LZ前台脚本厉害的话建议写脚本,使用后台容易刷页面可能会带来一些不
必要的麻烦。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,