日期:2014-05-17  浏览次数:20376 次

主子表赋值出现问题
代码如下(简化版)

<asp:UpdatePanel ID="UpnlGrd" runat="server">
   <ContentTemplate>
   <asp:GridView ID="Grid_DTable1" runat="server" Width="1125px" AutoGenerateColumns="False"
SkinID="SubGridView1" ShowHeader="False" DataKeyNames="affix_id" HorizontalAlign="Left"
 OnSelectedIndexChanging="Grid_DTable1_SelectedIndexChanging">
<Columns>  
<asp:TemplateField HeaderText="选择附件">
  <ItemTemplate>
      <%# Eval("FileName")%>
  </ItemTemplate>
  <EditItemTemplate>
      <asp:FileUpload ID="upFile" runat="server" Width="250px" Text='<%# Eval("FileName") %>'
                                                    BorderWidth="1px" CssClass="css_Textbox" />
      <asp:BoundField DataField="affix_id" ItemStyle-CssClass="hidden" />
  </EditItemTemplate>
  <ItemStyle Width="250px" />
</asp:TemplateField>
</Columns>
   </asp:GridView>
 </ContentTemplate>
 <Triggers>
            <asp:PostBackTrigger ControlID="Grid_DTable1" />
 </Triggers>
</asp:UpdatePanel>

如代码所示,我的GridView里面有个上传文件的控件,因此加入了触发器来控制文件上传(不加这个会出现无法识别上传文件的情况),但是这是子表,我在主表中使用了Js给一些文本框赋值,类似这样的

 $get('ihid_OutStM_Id').value = RtnObj.OutStM_Id;
$get('ntxt_st_bill_no').value = RtnObj.OutStM_No;

发现主表赋值完成之后,点击子表中的“增加”按钮,增加一行子表的新纪录,就会出现主表中已经赋值好的值又消失了,请问这个是由于加了触发器刷新整个页面的问题吗?
PS:“增加”按钮是服务器端控件,会触发PostBack

------解决方案--------------------
别再用UpdatePanel了,学学换成jquery+ashx吧。