C# 更新后刷新 GridView
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/15274928/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Refresh GridView after update
提问by Dan Romano
Basically, the GridView is not showing the updated values after the update event occurs. I have searched the forum and seen many solutions but nothing has worked when I tried them out.
基本上,GridView 在更新事件发生后不显示更新的值。我搜索了论坛并看到了许多解决方案,但是当我尝试它们时没有任何效果。
The database is definitely updated but the updates are only visible once I restart the project.
数据库肯定已更新,但只有在我重新启动项目后才能看到更新。
What I have done:
我做了什么:
- Very liberal use of GridView1.Databind();
- Conservative use of GridView1.Databind();
- Page_Load contains (!IsPostBack) wrapper with GridView1.Databind();
- Placed GridView1.Databind(); in the GridView1_RowUpdating event.
- ...and a number of other things that I tried after searching the forum.
- 非常自由地使用 GridView1.Databind();
- GridView1.Databind() 的保守使用;
- Page_Load 包含 (!IsPostBack) 与 GridView1.Databind() 的包装器;
- 放置 GridView1.Databind(); 在 GridView1_RowUpdating 事件中。
- ...以及我在搜索论坛后尝试的其他一些事情。
C#:
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using System.IO;
public partial class Styles_ConsolidatedProducers : System.Web.UI.Page
{
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridView1.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataBind();
}
else
{
//GridView1.DataBind();
}
}
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
protected void Gridview1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
protected void cmdReset_Click(object sender, EventArgs e)
{
ToggleCheckState(false);
cboBusinessSource.ClearSelection();
cboConsolidatedProducer.ClearSelection();
cboRelinkToConsolidatedProducer.ClearSelection();
txtSearch.Text = "";
lblRelinkToConsolidatedProducer.Visible = false;
cboRelinkToConsolidatedProducer.Visible = false;
cmdRelink.Visible = false;
GridView1.DataBind();
}
protected void cboConsolidatedProducer_SelectedIndexChanged(object sender, EventArgs e)
{
//GridView1.DataBind();
}
protected void cboBusinessSource_SelectedIndexChanged(object sender, EventArgs e)
{
//GridView1.DataBind();
}
protected void cmdUnlink_Click(object sender, EventArgs e)
{
{
bool atLeastOneRowUpdated = false;
// Iterate through the Products.Rows property
foreach (GridViewRow row in GridView1.Rows)
{
// Access the CheckBox
CheckBox cb = (CheckBox)row.FindControl("chkUpdate");
if (cb != null && cb.Checked)
{
// Edit row is true.
atLeastOneRowUpdated = true;
// Get the MasterID for the selected row.
int MasterID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
SqlConnection con = new SqlConnection("FOO");
con.Open();
string updateSQL = "UPDATE tblMasterDetail " + "SET ProducerConsolidatedID = @ProducerConsolidatedID, ProducerConsolidatedName = @ProducerConsolidatedName WHERE MasterID = @MasterID";
Console.WriteLine(updateSQL);
SqlCommand cmd = new SqlCommand(updateSQL, con);
cmd.Parameters.Add("@MasterID", SqlDbType.Int, 10, "MasterID");
cmd.Parameters.Add("@ProducerConsolidatedID", SqlDbType.NVarChar, 20, "ProducerConsolidatedID");
cmd.Parameters.Add("@ProducerConsolidatedName", SqlDbType.NVarChar, 20, "ProducerConsolidatedName");
//cmd.Parameters["@ProducerConsolidatedID"].Value = MasterID;
cmd.Parameters["@MasterID"].Value = MasterID;
cmd.Parameters["@ProducerConsolidatedID"].Value = "XX";
cmd.Parameters["@ProducerConsolidatedName"].Value = "XX";
//Update the row.
cmd.ExecuteNonQuery();
GridView1.DataBind();
con.Close();
ToggleCheckState(false);
lblUpdatedRecords.Text += string.Format(
"Record unlinked: {0}<br />", MasterID);
//"This would have updated ProductID {0}<br />", MasterID);
}
}
// Show the Label if at least one row was deleted...
lblUpdatedRecords.Visible = atLeastOneRowUpdated;
}
}
private void ToggleCheckState(bool checkState)
{
// Iterate through the Products.Rows property
foreach (GridViewRow row in GridView1.Rows)
{
// Access the CheckBox
CheckBox cb = (CheckBox)row.FindControl("chkUpdate");
if (cb != null)
cb.Checked = checkState;
}
}
protected void cmdUncheckAll_Click(object sender, EventArgs e)
{
ToggleCheckState(false);
cboRelinkToConsolidatedProducer.Visible = false;
lblRelinkToConsolidatedProducer.Visible = false;
cmdRelink.Visible = false;
}
protected void txtSearch_TextChanged(object sender, EventArgs e)
{
//GridView1.DataBind();
}
protected void cboRelinkToConsolidatedProducer_SelectedIndexChanged(object sender, EventArgs e)
{
// Get value form dropdown.
txtRelinkToConsolidatedProducerID.Text = cboRelinkToConsolidatedProducer.SelectedItem.Value;
// Get value form dropdown.
txtRelinkToConsolidatedProducerName.Text = cboRelinkToConsolidatedProducer.SelectedItem.Text;
cmdRelink.Visible = true;
//GridView1.DataBind();
}
protected void cmdRelinkTo_Click(object sender, EventArgs e)
{
lblRelinkToConsolidatedProducer.Visible = true;
cboRelinkToConsolidatedProducer.Visible = true;
}
protected void cmdRelink_Click(object sender, EventArgs e)
{
bool atLeastOneRowUpdated = false;
// Iterate through the Products.Rows property
foreach (GridViewRow row in GridView1.Rows)
{
// Access the CheckBox
CheckBox cb = (CheckBox)row.FindControl("chkUpdate");
if (cb != null && cb.Checked)
{
// Edit row is true.
atLeastOneRowUpdated = true;
// Get the MasterID for the selected row.
int MasterID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
SqlConnection con = new SqlConnection("FOO");
//con.Open();
string updateSQL = "UPDATE tblMasterDetail " + "SET ProducerConsolidatedID = @ProducerConsolidatedID, ProducerConsolidatedName = @ProducerConsolidatedName WHERE MasterID = @MasterID";
Console.WriteLine(updateSQL);
SqlCommand cmd = new SqlCommand(updateSQL, con);
cmd.Parameters.Add("@MasterID", SqlDbType.Int, 10, "MasterID");
cmd.Parameters.Add("@ProducerConsolidatedID", SqlDbType.NVarChar, 20, "ProducerConsolidatedID");
cmd.Parameters.Add("@ProducerConsolidatedName", SqlDbType.NVarChar, 20, "ProducerConsolidatedName");
cmd.Parameters["@MasterID"].Value = MasterID;
cmd.Parameters["@ProducerConsolidatedID"].Value = txtRelinkToConsolidatedProducerID.Text;
cmd.Parameters["@ProducerConsolidatedName"].Value = txtRelinkToConsolidatedProducerName.Text;
con.Open();
//Update the row.
cmd.ExecuteNonQuery();
GridView1.DataBind();
con.Close();
ToggleCheckState(false);
lblUpdatedRecords.Text += string.Format(
"Records relinked: {0}<br />", MasterID);
//"This would have updated ProductID {0}<br />", MasterID);
cboRelinkToConsolidatedProducer.Visible = false;
lblRelinkToConsolidatedProducer.Visible = false;
cmdRelink.Visible = false;
}
}
// Show the Label if at least one row was deleted...
lblUpdatedRecords.Visible = atLeastOneRowUpdated;
}
protected void cmdRefresh_Click(object sender, EventArgs e)
{
GridView1.DataBind();
}
}
}
Markup:
标记:
<%@ Page Language="C#" AutoEventWireup="true" Debug="true" EnableEventValidation="true" CodeFile="Search.aspx.cs" Inherits="Styles_ConsolidatedProducers"
EnableViewStateMac ="false" EnableSessionState="True" ValidateRequest ="false" ViewStateEncryptionMode ="Never" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Producer Search</title>
<style type="text/css">
.style1
{
font-family: Calibri;
}
.style2
{
color: #FFFFFF;
}
.style3
{
font-size: xx-large;
}
#form1
{
font-family: Calibri;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div style="background-color: #000000; width: 1251px;">
<asp:Image ID="Image1" runat="server" Height="63px" ImageAlign="Left"
ImageUrl="~/BM.jpg" Width="93px" />
<br />
<span class="style1">
<span class="style2"><span class="style3">search</span></span></span><br
class="style3" />
<span class="style1"><span class="style2">
<br />
</span></span>
<asp:Label ID="lblConsolidatedProducer" runat="server" style="color: #FFFFFF"
Text="Consol. Producer:"></asp:Label>
<asp:DropDownList ID="cboConsolidatedProducer" AppendDataBoundItems="true" runat="server"
AutoPostBack="True" DataSourceID="ConsolidatedProducer"
DataTextField="ProducerConsolidatedName"
DataValueField="ProducerConsolidatedID" Height="22px" Width="259px"
onselectedindexchanged="cboConsolidatedProducer_SelectedIndexChanged">
<asp:ListItem Value="%" Selected="True">None</asp:ListItem>
<asp:ListItem Value="XX">Unlinked</asp:ListItem>
</asp:DropDownList>
<span class="style1">
<asp:Label ID="lblBusinessSource" runat="server" style="color: #FFFFFF"
Text="Source:"></asp:Label>
</span>
<asp:DropDownList ID="cboBusinessSource" AppendDataBoundItems="true"
runat="server" AutoPostBack="True"
DataSourceID="BusinessSource" DataTextField="BusinessSourceCode"
DataValueField="BusinessSourceCode" Height="22px" Width="65px"
onselectedindexchanged="cboBusinessSource_SelectedIndexChanged">
<asp:ListItem Value="%" Selected="True">All</asp:ListItem>
</asp:DropDownList>
<asp:Label ID="lblSearch" runat="server" style="color: #FFFFFF"
Text="Producer Name:"></asp:Label>
<asp:TextBox ID="txtSearch" runat="server"
ontextchanged="txtSearch_TextChanged" AutoCompleteType="Disabled"
AutoPostBack="True" MaxLength="50"></asp:TextBox>
<asp:SqlDataSource ID="BusinessSource" runat="server"
ConnectionString="<%$ ConnectionStrings:BMBESQLConnectionString %>"
SelectCommand="SELECT DISTINCT [BusinessSourceCode] FROM [tblMasterDetail] WHERE ([BusinessSourceCode] IS NOT NULL)"
CancelSelectOnNullParameter="False">
</asp:SqlDataSource>
<asp:SqlDataSource ID="MasterDetail" runat="server"
ConnectionString="<%$ ConnectionStrings:BMBESQLConnectionString %>"
SelectCommand="SELECT MasterID, SystemSourceCode, BusinessSourceCode, PRODUCERMASTERID, PRODUCERCONSOLIDATEDID, ProducerConsolidatedName, GWP, FINMISNATIONALCODE, PRODUCERNATIONALCODE, PRODUCERNAME, [Update] FROM tblMasterDetail" EnableCaching="True"
FilterExpression="[ProducerConsolidatedID] LIKE '{0}%' and [BusinessSourceCode] LIKE '{1}%' and [ProducerName] Like '%{2}%'"
CancelSelectOnNullParameter="False"
OldValuesParameterFormatString="original_{0}"
InsertCommand="INSERT INTO [tblMasterDetail] ([SystemSourceCode], [BusinessSourceCode], [PRODUCERMASTERID], [PRODUCERCONSOLIDATEDID], [ProducerConsolidatedName], [GWP], [PRODUCERNATIONALCODE], [FINMISNATIONALCODE], [PRODUCERNAME], [Update]) VALUES (@SystemSourceCode, @BusinessSourceCode, @PRODUCERMASTERID, @PRODUCERCONSOLIDATEDID, @ProducerConsolidatedName, @GWP, @PRODUCERNATIONALCODE, @FINMISNATIONALCODE, @PRODUCERNAME, @Update);"
DeleteCommand="DELETE FROM [tblMasterDetail] WHERE [MasterID] = @original_MasterID AND (([SystemSourceCode] = @original_SystemSourceCode) OR ([SystemSourceCode] IS NULL AND @original_SystemSourceCode IS NULL)) AND (([BusinessSourceCode] = @original_BusinessSourceCode) OR ([BusinessSourceCode] IS NULL AND @original_BusinessSourceCode IS NULL)) AND (([PRODUCERMASTERID] = @original_PRODUCERMASTERID) OR ([PRODUCERMASTERID] IS NULL AND @original_PRODUCERMASTERID IS NULL)) AND (([PRODUCERCONSOLIDATEDID] = @original_PRODUCERCONSOLIDATEDID) OR ([PRODUCERCONSOLIDATEDID] IS NULL AND @original_PRODUCERCONSOLIDATEDID IS NULL)) AND (([ProducerConsolidatedName] = @original_ProducerConsolidatedName) OR ([ProducerConsolidatedName] IS NULL AND @original_ProducerConsolidatedName IS NULL)) AND (([GWP] = @original_GWP) OR ([GWP] IS NULL AND @original_GWP IS NULL)) AND (([PRODUCERNATIONALCODE] = @original_PRODUCERNATIONALCODE) OR ([PRODUCERNATIONALCODE] IS NULL AND @original_PRODUCERNATIONALCODE IS NULL)) AND (([FINMISNATIONALCODE] = @original_FINMISNATIONALCODE) OR ([FINMISNATIONALCODE] IS NULL AND @original_FINMISNATIONALCODE IS NULL)) AND (([PRODUCERNAME] = @original_PRODUCERNAME) OR ([PRODUCERNAME] IS NULL AND @original_PRODUCERNAME IS NULL)) AND (([Update] = @original_Update) OR ([Update] IS NULL AND @original_Update IS NULL))"
ConflictDetection="CompareAllValues">
<DeleteParameters>
<asp:Parameter Name="original_MasterID" />
<asp:Parameter Name="original_SystemSourceCode" />
<asp:Parameter Name="original_BusinessSourceCode" />
<asp:Parameter Name="original_PRODUCERMASTERID" />
<asp:Parameter Name="original_PRODUCERCONSOLIDATEDID" />
<asp:Parameter Name="original_ProducerConsolidatedName" />
<asp:Parameter Name="original_GWP" />
<asp:Parameter Name="original_PRODUCERNATIONALCODE" />
<asp:Parameter Name="original_FINMISNATIONALCODE" />
<asp:Parameter Name="original_PRODUCERNAME" />
<asp:Parameter Name="original_Update" />
</DeleteParameters>
<FilterParameters>
<asp:ControlParameter ControlID="cboConsolidatedProducer"
Name="ProducerConsolidatedID" PropertyName="SelectedValue"
DefaultValue="" ConvertEmptyStringToNull="true" />
<asp:ControlParameter ControlID="cboBusinessSource" Name="BusinessSourceCode"
PropertyName="SelectedValue" ConvertEmptyStringToNull="true"
DefaultValue=" " />
<asp:ControlParameter ControlID="txtSearch" DefaultValue=" " Name="ProducerName"
PropertyName="Text" Type="String" />
</FilterParameters>
<InsertParameters>
<asp:Parameter Name="SystemSourceCode" />
<asp:Parameter Name="BusinessSourceCode" />
<asp:Parameter Name="PRODUCERMASTERID" />
<asp:Parameter Name="PRODUCERCONSOLIDATEDID" />
<asp:Parameter Name="ProducerConsolidatedName" />
<asp:Parameter Name="GWP" />
<asp:Parameter Name="PRODUCERNATIONALCODE" />
<asp:Parameter Name="FINMISNATIONALCODE" />
<asp:Parameter Name="PRODUCERNAME" />
<asp:Parameter Name="Update" />
</InsertParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="ConsolidatedProducer" runat="server"
ConnectionString="<%$ ConnectionStrings:BMBESQLConnectionString %>"
SelectCommand="SELECT DISTINCT ProducerConsolidatedName, ProducerConsolidatedID FROM tblProducerConsolidated WHERE (MakeConsolidated = 1) ORDER BY ProducerConsolidatedName"
CancelSelectOnNullParameter="False">
</asp:SqlDataSource>
<asp:Button ID="cmdReset" runat="server" onclick="cmdReset_Click"
Text="Reset" />
<br />
<br />
</div>
<br />
<asp:Button ID="cmdRelinkTo" runat="server" Text="Relink"
onclick="cmdRelinkTo_Click" />
<asp:Button ID="cmdUnlink" runat="server" Text="Unlink"
onclick="cmdUnlink_Click" />
<asp:Label ID="lblRelinkToConsolidatedProducer" runat="server"
Text="Relink To:" Visible="False"></asp:Label>
<asp:DropDownList ID="cboRelinkToConsolidatedProducer" runat="server"
AutoPostBack="True" DataSourceID="ConsolidatedProducer"
DataTextField="ProducerConsolidatedName"
DataValueField="ProducerConsolidatedID" Height="22px"
onselectedindexchanged="cboRelinkToConsolidatedProducer_SelectedIndexChanged"
Visible="False" Width="259px">
</asp:DropDownList>
<br />
<asp:Button ID="cmdRelink" runat="server" onclick="cmdRelink_Click"
Text="Relink" Visible="False" />
<asp:TextBox ID="txtRelinkToConsolidatedProducerID" runat="server"
Visible="False"></asp:TextBox>
<asp:TextBox ID="txtRelinkToConsolidatedProducerName" runat="server"
Visible="False"></asp:TextBox>
<br />
<asp:Button ID="cmdUncheckAll" runat="server" onclick="cmdUncheckAll_Click"
Text="Clear" Height="26px" Width="54px" />
<asp:Button ID="cmdRefresh" runat="server" onclick="cmdRefresh_Click"
Text="Refresh" />
<br />
<br />
<asp:Label ID="lblRecordsFound" runat="server" style="color: #000000" Text="-"></asp:Label>
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False"
DataSourceID="MasterDetail"
onrowupdating="GridView1_RowUpdating"
Width="1243px" EmptyDataText="-"
DataKeyNames="MasterID">
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="MasterID"
DataNavigateUrlFormatString="ProducerDetail.aspx?masterid={0}" Text="View" />
<asp:TemplateField HeaderText="Update" SortExpression="Update">
<EditItemTemplate>
<asp:CheckBox ID="Update" runat="server" Checked='<%# Bind("Update") %>'
AutoPostBack='<%# Bind("Update") %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkUpdate" runat="server" Checked='<%# Bind("Update") %>'
AutoPostBack='<%# Bind("Update") %>' />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="MasterID" HeaderText="ID"
InsertVisible="False" ReadOnly="True" SortExpression="MasterID" />
<asp:BoundField DataField="SystemSourceCode" HeaderText="System"
ReadOnly="True" SortExpression="SystemSourceCode" />
<asp:BoundField DataField="BusinessSourceCode" HeaderText="Source"
ReadOnly="True" SortExpression="BusinessSourceCode" />
<asp:BoundField DataField="PRODUCERNAME" HeaderText="Producer Name"
ReadOnly="True" SortExpression="PRODUCERNAME" >
<ControlStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="GWP"
HeaderText="GWP" SortExpression="GWP" DataFormatString="{0:c}"
ReadOnly="True" ApplyFormatInEditMode="True" />
<asp:BoundField DataField="PRODUCERMASTERID" HeaderText="Producer Master ID"
ReadOnly="True" SortExpression="PRODUCERMASTERID" >
<ControlStyle Width="100px" />
</asp:BoundField>
<asp:TemplateField HeaderText="Consol. ID"
SortExpression="PRODUCERCONSOLIDATEDID">
<EditItemTemplate>
<asp:TextBox ID="txtConsolidatedProducerID" runat="server"
Text='<%# Bind("PRODUCERCONSOLIDATEDID") %>' AutoPostBack="True" CausesValidation="True"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="ConsolidatedProducerID" runat="server"
Text='<%# Bind("PRODUCERCONSOLIDATEDID") %>' AutoPostBack="True" CausesValidation="True"></asp:TextBox>
</ItemTemplate>
<ControlStyle Width="100px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Consol. Name"
SortExpression="PRODUCERCONSOLIDATEDID">
<EditItemTemplate>
<asp:TextBox ID="txtConsolidatedProducerName" runat="server"
Text='<%# Bind("ProducerConsolidatedName") %>' AutoPostBack="True" CausesValidation="True"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="ConsolidatedProducerName" runat="server"
Text='<%# Bind("ProducerConsolidatedName") %>' AutoPostBack="True" CausesValidation="True"></asp:TextBox>
</ItemTemplate>
<ControlStyle Width="100px" />
</asp:TemplateField>
<asp:BoundField DataField="PRODUCERNATIONALCODE"
HeaderText="Source Code"
SortExpression="PRODUCERNATIONALCODE" ReadOnly="True" />
<asp:BoundField DataField="FINMISNATIONALCODE" HeaderText="FINMIS Code"
ReadOnly="True" SortExpression="FINMISNATIONALCODE" />
</Columns>
</asp:GridView>
<asp:Label ID="lblUpdatedRecords" runat="server" EnableViewState="False"></asp:Label>
<br />
<br />
</form>
All other functions work - this is the only outstanding issue. Any guidance is appreciated.
所有其他功能都可以工作 - 这是唯一未解决的问题。任何指导表示赞赏。
采纳答案by Mike Guthrie
You are using caching on the SqlDataSource
which is why it is showing you the initial Select result on your DataBind
.
您正在使用缓存,SqlDataSource
这就是为什么它会在您的DataBind
.
From your markup:
从您的标记:
<asp:SqlDataSource ID="MasterDetail" ... EnableCaching="True"
Try making the following update to your explicit refresh button:
尝试对您的显式刷新按钮进行以下更新:
protected void cmdRefresh_Click(object sender, EventArgs e)
{
MasterDetail.EnableCaching = false;
GridView1.DataBind();
MasterDetail.EnableCaching = true;
}
回答by Praveen Nambiar
I got it from a post, though it doesn't specify anything more. Try this out.
我从一个帖子中得到它,尽管它没有指定更多内容。试试这个。
protected void GridView1_Init(object sender, EventArgs e)
{
Response.CacheControl = "no-cache";
}
Note: No need to do anything on the markup.
注意:不需要对标记做任何事情。
回答by Shahar Ehrenhalt
I dont know if its the best way but it working fine for me after the update. After the click on the update button I wrote again the SqlDataSource.SelectCommand
to select the data I need.
My code:
我不知道这是否是最好的方法,但更新后对我来说效果很好。单击更新按钮后,我再次写了SqlDataSource.SelectCommand
选择我需要的数据。我的代码:
protected void teamSubmitBTN_Click(object sender, EventArgs e)
{
ExpScheduleClass ESCU = new ExpScheduleClass();
ESCU.updateTeamTable(teamLBL.Text, courseLBL.Text, studentLBL.Text);
SqlDataSource1.SelectCommand = //your select cmd here...
}