日期:2014-05-18  浏览次数:20608 次

奇怪的为题?
同一个事件用不同的控件进行触发,结果不一样,事件是脚本事件从模态窗口取回一个值,然后触发后台事件给控件赋值,设置断点跟踪发现控件在后台都被赋值了!然而到前台发现,用txtbox引发脚本的时候,可以控件显示刚才的赋值,然而用imgbutton引发的时候却,控件依然是空白的!
代码:
  <asp:TextBox   ID= "Person_IDTxt "   runat= "server "     Width= "280px "     Length= "20 "     onclick= "return   showmodule(); "> </asp:TextBox>
                                                                                                          <asp:ImageButton   ID= "SearchIbtn "   runat= "server "     ImageUrl= "~/Images/view.gif "       OnClientClick= "return   showmodule(); "/>

    <asp:Button   ID= "BindBtn "   CssClass= "hideControl "   runat= "server "   OnClick= "BindBtn_OnClick "
                                                                CausesValidation= "false "   />
脚本:
<script   language= "javascript ">
function   showmodule()
{
var   Person_ID=   window.showModalDialog( "DrugReceivePerson.aspx ",   'popupWindow ',       "dialogWidth:450px;dialogHeight:490px; ");  
  if(Person_ID!=null   &&Person_ID!= " "   )
  {
        document.getElementById( 'HFPerson_ID ').value=Person_ID;
        document.getElementById( "BindBtn ").click();
  }
  else
  {

  }
}
</script>
后台:
    public   void   BindBtn_OnClick(object   sender,   EventArgs   e)
        {
                try
                {
                        if   (Convert.ToString(HFPerson_ID.Value)   !=   null   &&   Convert.ToString(HFPerson_ID.Value)   !=   " ")
                        {
                                Person_ID   =   Convert.ToInt32(HFPerson_ID.Value);
                                dt   =   MySearchPerson.PersonInfo_GetNameByPersonID(Person_ID);

                                foreach   (System.Data.DataRow   row   in   dt.Rows)
                                {
                                        Person_IDTxt.Text   =