我可以设置一个标志或属性值,让我的控件在每个页面加载时重新绑定,而不仅仅是初始加载吗?我仍然是ASP.NET的新手,所以我想在诉诸“工作”的第一件事之前正确地做(如果存在这样的方式)。
我正在开发一个简单的WebForms页面,它归结为一些SQLDataSource绑定的Repeater;例如:
<asp:Repeater ID="ExampleRepeater" runat="server" DataSourceID="ExampleDataSource"
OnItemDataBound="ExampleRepeater_ItemDataBound">
<ItemTemplate>
<asp:Label ID="DataboundControlID" runat="server" Text='<%# Eval("ExampleColumnName")%>' />
</ItemTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="ExampleDataSource" runat="server" ConnectionString="example_connection_string"
SelectCommand="ExampleStoredProcedure" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter DefaultValue="exampleValue" Name="parameter1" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
用户与我的页面交互后,他们可以启动回发,这将改变数据库的状态。我希望postback'ed页面能够反映数据库的变化。如果我能进一步澄清我的情况,请告诉我。
答案 0 :(得分:1)
在处理即更新数据库之后,您可以通过调用DataBind方法重新绑定Repeater,如:
ExampleRepeater.DataBind();
答案 1 :(得分:0)
根据我的经验,有些控件有,有些则没有。例如。 Microsoft的标准ASP.NET控件总是自动为我工作,而DevExpress的ASPxGridView
需要在每次回发/回调时手动重新绑定。