PDA

View Full Version : سوال: مشکل با data bind



mahdi_2490
یک شنبه 05 آذر 1391, 18:31 عصر
سلام من می خوام اطلاعات گرید ویو را در حذف کنم اول یه query حذف براش نوشتم و چون اطلاعات در بانک حذف می شه ولی در گرید ویو نشون نمی ده گرید ویو را در page load بایند کردم ولی روی خط بایندینگ خطا می ده (GridView1.DataBind) مشکل کجاس ؟
با تشکر


using System.Data;
using System.Data.SqlClient;

namespace WebApplication5
{
public partial class managetopic : System.Web.UI.Page
{



protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGridView();
}
}

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "remove")
{
int id = Convert.ToInt32(e.CommandArgument);
SqlConnection con = new SqlConnection("Server = laptap-PC; Database = mahdi; Trusted_Connection = True");
string query = "delete from topic where id=@id";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.AddWithValue("@id", id);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
BindGridView();
}


}

protected void BindGridView()
{
SqlConnection con = new SqlConnection("Server = laptap-PC; Database = mahdi; Trusted_Connection = True");
string query = "select * from topic";
SqlCommand cmd = new SqlCommand(query, con);
con.Open();
SqlDataReader SqlDataSource1 = cmd.ExecuteReader();
GridView1.DataSource = SqlDataSource1;
GridView1.DataBind();
con.Close();
}


}


متن خطا
{"Both DataSource and DataSourceID are defined on 'GridView1'. Remove one definition."}


95575

hamid_0341
یک شنبه 05 آذر 1391, 18:50 عصر
باسلام
مطمعا نیستم ولی فکر میکنم مشکل از using ها است
شما از هیچ کدام از قسمت ها استفاده نکردید
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
با این ببینید درست میشه

mahdi_2490
یک شنبه 05 آذر 1391, 19:00 عصر
لیست using ها
اخریش را را نداشت اضافه کردم ولی بازم نشد



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

hamid_0341
یک شنبه 05 آذر 1391, 19:08 عصر
اقا میشه با موزیلا بازش کنی اون eror که میده اینجا بزاری

mahdi_2490
یک شنبه 05 آذر 1391, 19:16 عصر
با موزیلا




Server Error in '/' Application.
Both DataSource and DataSourceID are defined on 'GridView1'. Remove one definition.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: Both DataSource and DataSourceID are defined on 'GridView1'. Remove one definition.

Source Error:


Line 50: SqlDataReader SqlDataSource1 = cmd.ExecuteReader();
Line 51: GridView1.DataSource = SqlDataSource1;
Line 52: GridView1.DataBind();
Line 53: con.Close();
Line 54: }


Source File: C:\Users\laptap\documents\visual studio 2010\Projects\WebApplication5\WebApplication5\mana getopic.aspx.cs Line: 52

Stack Trace:


[InvalidOperationException: Both DataSource and DataSourceID are defined on 'GridView1'. Remove one definition.]
System.Web.UI.WebControls.DataBoundControl.Connect ToDataSourceView() +1800490
System.Web.UI.WebControls.DataBoundControl.GetData () +4
System.Web.UI.WebControls.DataBoundControl.Perform Select() +59
System.Web.UI.WebControls.BaseDataBoundControl.Dat aBind() +74
System.Web.UI.WebControls.GridView.DataBind() +4
WebApplication5.managetopic.BindGridView() in C:\Users\laptap\documents\visual studio 2010\Projects\WebApplication5\WebApplication5\mana getopic.aspx.cs:52
WebApplication5.managetopic.Page_Load(Object sender, EventArgs e) in C:\Users\laptap\documents\visual studio 2010\Projects\WebApplication5\WebApplication5\mana getopic.aspx.cs:22
System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Cal lback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

fakhravari
یک شنبه 05 آذر 1391, 19:35 عصر
گرید شما دیتاسورس داره نمیتونید بایند کنید.

mahdi_2490
یک شنبه 05 آذر 1391, 19:40 عصر
گرید شما دیتاسورس داره نمیتونید بایند کنید.

یعنی خوده دیتا سورس را از فرم پاک کنم (گرید ویو تنها ) و داخل کد دیگه دیتا سورس نباشه ؟؟

fakhravari
دوشنبه 06 آذر 1391, 00:26 صبح
نیازی به sqldatasours نیست دیگه

آسمان زندگی
دوشنبه 13 آذر 1391, 15:23 عصر
بله شما هم sqldatasourceانداختین هم با کد نویسی بایند میکنین نمیشه که . در sourceبرنامهdqldatasourceروپاککنین.