asp转发器填充数据表不显示

时间:2013-06-16 03:59:09

标签: asp.net repeater sqldatareader

我第一次尝试使用asp中继器。我使用以下教程作为指南: http://www.sitepoint.com/asp-net-repeater-con

我的问题是asp转发器没有显示在页面上。甚至不是页眉或页脚。

如下所示,我有一个填充了SqlDataReader的数据表。我把桌子绑在了asp转发器上。

在对我的代码执行ajax调用的按钮单击事件后调用的函数:

function getRangeList() {
   var vardateRange = { dateStart: $("#dateStart").val(), dateEnd: $("#dateEnd").val(),   MethodName: 'getRangeList' }
   var options =
      {
         url: '<%=ResolveUrl("~/Default.aspx") %>',
         async: true,
         data: vardateRange,
         dataType: 'text',
         type: 'POST',
         success: function()  {
            alert("test");
         }
      }
      $.ajax(options);
      }

      C# code:    
 protected void getRangeList()
    {
       using (SqlConnection connRangeList = new SqlConnection(this.strOwanConnString))
          {    
             SqlCommand cmdRangeList = new SqlCommand("[some_sp]", conn1);
             cmd1.CommandType = CommandType.StoredProcedure;
             cmd1.Parameters.Add("@somevalue", SqlDbType.VarChar).Value = x;
             conn1.Open();
             SqlDataReader dt1 = cmd1.ExecuteReader();
             repeater1.DataSource = dt1;
             repeater1.DataBind();
           }
     }

aspx页面:

<asp:Repeater ID="repeater1" runat="server">
            <HeaderTemplate>
                Test<table border="1">
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td><%#DataBinder.Eval(Container.DataItem, "patientID")%></td>
                </tr>
            </ItemTemplate>
            <FooterTemplate>
                </table>
            </FooterTemplate>
        </asp:Repeater>

我假设我对函数有一个非常基本的误解,并且我正在调用它。请帮我澄清一下。感谢。

1 个答案:

答案 0 :(得分:0)

我发现问题与结构有关。函数getRangeList未在pageload处执行。因此导致转发器的绑定事件绑定。我将绑定功能放在我的页面加载中,它就像一个冠军。