faramarz_s
یک شنبه 03 اسفند 1382, 23:03 عصر
من پس از نصب FTB حالا برای شبیه سازی مبحث ویرایش فروم برنامه زیر را آماده کرده ام.
مشکل من این هستش که TBinder را زمانی که در Page_Load صدا می زنم خب ویرایش هم
صورت گرفته و کاربر داده ای را که می خواهد برای ویرایش به دیتا بیس بفرستد می فرستد اما چون در Page_Load متد TBinder صدا زده شده بنابراین مقادیر ویرایش شده به دیتا بیس ارسال نمی شود بلکه همان مقادیر سابق در فیلد خاص ارسال گردیده و هدف ویرایش محقق نمی شه!
private void Page_Load(object sender, System.EventArgs e)
{
//TBinder();
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.FTB.Init += new System.EventHandler(this.FTB_Init);
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
//DataBinder.Eval(ds2, "Tables[tblNews].DefaultView.[0].finalText")
void TBinder()
{
SqlConnection myConnection = new
SqlConnection("server=(local);uid=sa;pwd=;database=test" );
string mySelectQuery = "SELECT finalText FROM tblNews where NewsId=1";//where NewsId=1
//SqlConnection myConnection = new SqlConnection(myConnString);
SqlCommand myCommand = new SqlCommand(mySelectQuery,myConnection);
myConnection.Open();
SqlDataReader myReader;
myReader = myCommand.ExecuteReader();
// Always call Read before accessing data.
while (myReader.Read())
{
//FTB.DataBind(); >?
//FTB.Text=myReader.ToString(); Get ::System.Data.SqlClient.SqlDataReader >False
FTB.Text=myReader.GetSqlString(0).ToString(); //Get ::Rattlesnake Canyon Grocery >True
}
// always call Close when done reading.
myReader.Close();
// Close the connection when done with it.
myConnection.Close();
/*string strCon = ConfigurationSettings.AppSettings["ConnStr"];
SqlConnection wg = new SqlConnection(strCon);
SqlDataAdapter dtAdap1 = new
SqlDataAdapter("select finalText from tblNews",wg);
//DataSet ds2 = new DataSet();
dtAdap1.Fill(ds2, "tblTextInfo");
FTB.DataBind();*/
}
private void Button1_Click(object sender, System.EventArgs e)
{
try
{
//string strCon = ConfigurationSettings.AppSettings["ConnStr"];
SqlConnection conn = new
SqlConnection("server=(local);uid=sa;pwd=;database=test" );
//SqlConnection conn = new SqlConnection(strCon);
// Prepare the command text
String strCmd = "UPDATE tblNews SET finalText =@body where NewsID=1";//Error when where NewsID=0
//String strCmd = "UPDATE tblTextInfo SET body = N'@body'"
//" WHERE subject = @subject";
SqlCommand objcmd = new SqlCommand(strCmd, conn);
SqlParameter paramsubject1 = new SqlParameter(
"@body", SqlDbType.NVarChar , 3000);
paramsubject1.Value = FTB.Text.ToString();
//TextBox1.Text.ToString();
objcmd.Parameters.Add(paramsubject1);
/*SqlParameter parampost = new SqlParameter(
"@postdate", SqlDbType.Char , 10);
parampost.Value = TextBox2.Text.ToString();
//TextBox1.Text.ToString();
objcmd.Parameters.Add(parampost);
SqlParameter paramsubject = new SqlParameter(
"@subject", SqlDbType.NVarChar , 250);
paramsubject.Value = DropDownList1.SelectedValue.ToString();
objcmd.Parameters.Add(paramsubject);
*/
conn.Open();
objcmd.ExecuteNonQuery();
conn.Close();
//Server.Transfer("WebForm2.aspx");
Response.Redirect("WebForm2.aspx");
Label1.Text="متن مورد نظر با موفقیت تغییر یافت";
//TBinder();
}
catch (Exception e1)
{
Label1.Text= "An Error Occure "+e1.Message.ToString();
}
}
private void FTB_Init(object sender, System.EventArgs e)
{
TBinder();
}
}
}
می خواهم در عین حال که مقادیر موجود قبلی در پست ارسال شده نمایش داده شود پس از فشردن کلید آپدیت بدون مشکل انجام شود.
تشکر
مشکل من این هستش که TBinder را زمانی که در Page_Load صدا می زنم خب ویرایش هم
صورت گرفته و کاربر داده ای را که می خواهد برای ویرایش به دیتا بیس بفرستد می فرستد اما چون در Page_Load متد TBinder صدا زده شده بنابراین مقادیر ویرایش شده به دیتا بیس ارسال نمی شود بلکه همان مقادیر سابق در فیلد خاص ارسال گردیده و هدف ویرایش محقق نمی شه!
private void Page_Load(object sender, System.EventArgs e)
{
//TBinder();
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.FTB.Init += new System.EventHandler(this.FTB_Init);
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
//DataBinder.Eval(ds2, "Tables[tblNews].DefaultView.[0].finalText")
void TBinder()
{
SqlConnection myConnection = new
SqlConnection("server=(local);uid=sa;pwd=;database=test" );
string mySelectQuery = "SELECT finalText FROM tblNews where NewsId=1";//where NewsId=1
//SqlConnection myConnection = new SqlConnection(myConnString);
SqlCommand myCommand = new SqlCommand(mySelectQuery,myConnection);
myConnection.Open();
SqlDataReader myReader;
myReader = myCommand.ExecuteReader();
// Always call Read before accessing data.
while (myReader.Read())
{
//FTB.DataBind(); >?
//FTB.Text=myReader.ToString(); Get ::System.Data.SqlClient.SqlDataReader >False
FTB.Text=myReader.GetSqlString(0).ToString(); //Get ::Rattlesnake Canyon Grocery >True
}
// always call Close when done reading.
myReader.Close();
// Close the connection when done with it.
myConnection.Close();
/*string strCon = ConfigurationSettings.AppSettings["ConnStr"];
SqlConnection wg = new SqlConnection(strCon);
SqlDataAdapter dtAdap1 = new
SqlDataAdapter("select finalText from tblNews",wg);
//DataSet ds2 = new DataSet();
dtAdap1.Fill(ds2, "tblTextInfo");
FTB.DataBind();*/
}
private void Button1_Click(object sender, System.EventArgs e)
{
try
{
//string strCon = ConfigurationSettings.AppSettings["ConnStr"];
SqlConnection conn = new
SqlConnection("server=(local);uid=sa;pwd=;database=test" );
//SqlConnection conn = new SqlConnection(strCon);
// Prepare the command text
String strCmd = "UPDATE tblNews SET finalText =@body where NewsID=1";//Error when where NewsID=0
//String strCmd = "UPDATE tblTextInfo SET body = N'@body'"
//" WHERE subject = @subject";
SqlCommand objcmd = new SqlCommand(strCmd, conn);
SqlParameter paramsubject1 = new SqlParameter(
"@body", SqlDbType.NVarChar , 3000);
paramsubject1.Value = FTB.Text.ToString();
//TextBox1.Text.ToString();
objcmd.Parameters.Add(paramsubject1);
/*SqlParameter parampost = new SqlParameter(
"@postdate", SqlDbType.Char , 10);
parampost.Value = TextBox2.Text.ToString();
//TextBox1.Text.ToString();
objcmd.Parameters.Add(parampost);
SqlParameter paramsubject = new SqlParameter(
"@subject", SqlDbType.NVarChar , 250);
paramsubject.Value = DropDownList1.SelectedValue.ToString();
objcmd.Parameters.Add(paramsubject);
*/
conn.Open();
objcmd.ExecuteNonQuery();
conn.Close();
//Server.Transfer("WebForm2.aspx");
Response.Redirect("WebForm2.aspx");
Label1.Text="متن مورد نظر با موفقیت تغییر یافت";
//TBinder();
}
catch (Exception e1)
{
Label1.Text= "An Error Occure "+e1.Message.ToString();
}
}
private void FTB_Init(object sender, System.EventArgs e)
{
TBinder();
}
}
}
می خواهم در عین حال که مقادیر موجود قبلی در پست ارسال شده نمایش داده شود پس از فشردن کلید آپدیت بدون مشکل انجام شود.
تشکر