Click here to Skip to main content
15,887,676 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
C#
{
    LookUp _objLook = new LookUp();
    DataSet ds = new DataSet();
    ValidateUser _objLogin = new ValidateUser();
    protected void Page_Load(object sender, EventArgs e)
    {
        ////// int userID = Convert.ToInt32(Request.QueryString["UserId"]);
        int uID = Convert.ToInt32(Session["userid"].ToString());
        if (!IsPostBack)
        {
            BindGrid();
        }
    }
    public void BindGrid()
    {
        int uID = Convert.ToInt32(Session["userid"]);
        int x = uID;
        ds = _objLook.Displayaccountdetails(uID);
       GridView1.DataSource = ds;
       GridView1.DataBind();

    }
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        BindGrid();
    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        e.Cancel = true;
        GridView1.EditIndex = -1;
        BindGrid();

    }
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        TextBox txtEmail = (TextBox)(GridView1.Rows[GridView1.EditIndex].FindControl("txtEmail"));
        TextBox txtMobileNumber = (TextBox)(GridView1.Rows[GridView1.EditIndex].FindControl("txtMobileNumber"));
        _objLogin.UserId = int.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString());
        _objLogin.Email = txtEmail.Text;
        _objLogin.MobileNumber = txtMobileNumber.Text;
        int i = _objLook.update(_objLogin);
        if (i > 0)
        {
            Response.Redirect("Updated Successfully");
        }
        else
        {
            Response.Redirect("Updated Failed");
        }       
    
        GridView1.EditIndex = -1;
        BindGrid();
      
    }
}




I got Error like
"DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'UserId'."
please help me
Posted
Updated 8-Aug-12 2:24am
v2

1 solution

1) Check DataKeyNames property of gridview.
2) Check that column 'UserId' is in gridview and also in the datasource
 
Share this answer
 
Comments
tejaramesh97 8-Aug-12 8:35am    
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
AutoGenerateEditButton="True" onrowcancelingedit="GridView1_RowCancelingEdit"
onrowediting="GridView1_RowEditing" onrowupdating="GridView1_RowUpdating" DataKeyNames="UserId">
<columns>
<asp:BoundField DataField="UserId" HeaderText="UserId" ReadOnly="true"/>
<asp:BoundField DataField="StateId" HeaderText="StateId" ReadOnly="true"/>
<asp:BoundField DataField="DistrictId" HeaderText="DistrictId" ReadOnly="true"/>
<asp:BoundField DataField="CityId" HeaderText="CityId" ReadOnly="true"/>
<asp:BoundField DataField="AreaId" HeaderText="AreaId" ReadOnly="true"/>

<asp:TemplateField HeaderText="Email">
<itemtemplate>
<%#Eval("Email")%>

<edititemtemplate>
<asp:TextBox ID="txtEmail" runat="server" Text='<%#Eval("Email") %>'>




<asp:TemplateField HeaderText="MobileNumber">
<itemtemplate>
<%#Eval("MobileNumber")%>

<edititemtemplate>
<asp:TextBox ID="txtMobileNumber" runat="server" Text='<%#Eval("MobileNumber") %>'>







this is my ASPX page
tejaramesh97 8-Aug-12 8:36am    
please help me
Raghunatha_Reddy_S 8-Aug-12 8:39am    
Check in the "ds" in BindGrid() method, that you are getting the column "UserId"?
tejaramesh97 8-Aug-12 8:57am    
int uID = Convert.ToInt32(Session["userid"].ToString());
on that line i got an error like
Object reference not set to an instance of an object..
Raghunatha_Reddy_S 8-Aug-12 9:02am    
when you try to convert null value in Session["userid"] to string you will get this error

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900