本文介绍了更新在asp.net中的GridView时的SqlDataSource绑定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个与SqlDataSource1绑定在的.aspx page.But当我使用事件OnRowUpdating,并与例外。一种落后code更新发生的GridView的
Gridview that I am using is
<asp:GridView ID="gdvProfiles" runat="server" AllowPaging="True" AllowSorting="True" DataSourceID="SqlDataSource1"
OnRowUpdating="updateRecord" OnRowEditing="editRecord" OnRowCancelingEdit="cancelRecord"
AutoGenerateColumns="False" CellPadding="0" ForeColor="#333333" GridLines="None"
Style="margin-right: 38px" Font-Size="Small">
and OnRowUpdaing
protected void updateRecord(object sender, GridViewUpdateEventArgs e)
{
try
{
Label lblusername = gdvProfiles.Rows[e.RowIndex].FindControl("lblusername") as Label;
TextBox txtname = gdvProfiles.Rows[e.RowIndex].FindControl("txtname") as TextBox;
TextBox txtsponser = gdvProfiles.Rows[e.RowIndex].FindControl("txtsponser") as TextBox;
TextBox txtemail = gdvProfiles.Rows[e.RowIndex].FindControl("txtemail") as TextBox;
TextBox txtdob = gdvProfiles.Rows[e.RowIndex].FindControl("txtdob") as TextBox;
TextBox txthomecontact = gdvProfiles.Rows[e.RowIndex].FindControl("txthomecontact") as TextBox;
TextBox txtcontact = gdvProfiles.Rows[e.RowIndex].FindControl("txtcontact") as TextBox;
TextBox txtaddress = gdvProfiles.Rows[e.RowIndex].FindControl("txtaddress") as TextBox;
TextBox txtcity = gdvProfiles.Rows[e.RowIndex].FindControl("txtcity") as TextBox;
TextBox txtstate = gdvProfiles.Rows[e.RowIndex].FindControl("txtstate") as TextBox;
TextBox txtzipcode = gdvProfiles.Rows[e.RowIndex].FindControl("txtzipcode") as TextBox;
TextBox txtcountry = gdvProfiles.Rows[e.RowIndex].FindControl("txtcountry") as TextBox;
BORegistration oBORegistration = new BORegistration();
BalRegistration oBalRegistration = new BalRegistration();
oBORegistration.Name = lblusername.Text;
oBORegistration.Name = txtname.Text;
oBORegistration.Sponser = txtsponser.Text;
oBORegistration.Email = txtemail.Text;
oBORegistration.Dob = txtdob.Text;
oBORegistration.HomeContact = txthomecontact.Text;
oBORegistration.Contact = txtcontact.Text;
oBORegistration.Addressx = txtaddress.Text;
oBORegistration.City = txtcity.Text;
oBORegistration.State = txtstate.Text;
oBORegistration.ZipCode = txtzipcode.Text;
oBORegistration.Country = txtcountry.Text;
if (oBalRegistration.Updatememberprofile(oBORegistration))
{
gdvProfiles.EditIndex = -1;
// FillData();
gdvProfiles.DataBind();
}
}
catch
{
throw;
}
}
the SqlDataSounce is
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Universal %>"
ProviderName="System.Data.SqlClient" SelectCommand="spGetMemberProfile" SelectCommandType="StoredProcedure"
FilterExpression="Username LIKE '{0}%' OR Name LIKE '{0}%' OR
Sponser LIKE '{0}%' OR Email LIKE '{0}%' OR Dob LIKE '{0}%' OR
HomeContact LIKE '{0}%' OR Contact LIKE '{0}%' OR City LIKE '{0}%' OR
Statex LIKE '{0}%' OR ZipCode LIKE '{0}%' OR Country LIKE '{0}%'
">
<FilterParameters>
<asp:ControlParameter Name="ID" ControlID="txtFilter" />
</FilterParameters>
</asp:SqlDataSource>
解决方案
I have done this by mention UpdateCommand in SqlDataSqouce as
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Universal %>"
ProviderName="System.Data.SqlClient" SelectCommand="spGetMemberProfile" UpdateCommand="spGetMemberProfile"
SelectCommandType="StoredProcedure" FilterExpression="Username LIKE '{0}%' OR Name LIKE '{0}%' OR
Sponser LIKE '{0}%' OR Email LIKE '{0}%' OR Dob LIKE '{0}%' OR
HomeContact LIKE '{0}%' OR Contact LIKE '{0}%' OR City LIKE '{0}%' OR
Statex LIKE '{0}%' OR ZipCode LIKE '{0}%' OR Country LIKE '{0}%'
">
<FilterParameters>
<asp:ControlParameter Name="ID" ControlID="txtFilter" />
</FilterParameters>
</asp:SqlDataSource>
这篇关于更新在asp.net中的GridView时的SqlDataSource绑定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!