我有一个asp.net网页,其中包含一个gridview,其中包含编辑,选择和删除功能,以及一个用于插入新记录的详细视图。每个控件都放在一个asp.net ajax扩展控件 - updatepanel中。并且两个控件绑定到同一数据源LinqDataSource。
插入新记录后,在用户刷新页面之前,gridview中不会显示任何内容。 我错过了什么?有人可以帮忙吗?
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<fieldset>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="TermLinqDataSource" AllowPaging="True" AllowSorting="True"
DataKeyNames="TermID">
<Columns>
<asp:CommandField
ShowSelectButton="True" />
<asp:BoundField DataField="RowIndex" HeaderText="RowIndex"
InsertVisible="False" SortExpression="RowIndex" Visible="False" />
<asp:BoundField DataField="TermID" HeaderText="Term" ReadOnly="True"
SortExpression="TermID" />
<asp:BoundField DataField="StartDate" HeaderText="Start Date"
SortExpression="StartDate" DataFormatString="{0:d}" />
<asp:BoundField DataField="EndDate" HeaderText="End Date"
SortExpression="EndDate" DataFormatString="{0:d}" />
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<h4>Add New Term:</h4>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DetailsView ID="addNewTerm" runat="server"
AutoGenerateRows="False" DataKeyNames="TermID"
DataSourceID="TermLinqDataSource" DefaultMode="Insert">
<FieldHeaderStyle Font-Bold="true" />
<Fields>
<asp:BoundField DataField="TermID" HeaderText="Term:" SortExpression="TermID"
ReadOnly="True" />
<asp:BoundField DataField="StartDate" HeaderText="Start Date:"
SortExpression="StartDate" />
<asp:BoundField DataField="EndDate" HeaderText="End Date:"
SortExpression="EndDate" />
<asp:CommandField ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:LinqDataSource ID="TermLinqDataSource" runat="server"
ContextTypeName="CETMSClient.RegistraDCsDataContext" EnableDelete="True"
EnableInsert="True" EnableUpdate="True" TableName="Terms"
OrderBy="RowIndex desc" >
</asp:LinqDataSource>
答案 0 :(得分:1)
我认为你需要在插入后再次绑定gridview。 访问msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.detailsview.iteminserted.aspx