ورود

View Full Version : شرط برای postback



ramin149
دوشنبه 19 مهر 1389, 17:25 عصر
سلام من چه شکلی می تونم یه شرط بنویسم که اگر b=true بود صفحه postback شه ولی اگر false بود صفحه !postback نشه ؟؟؟
من خودم این رونوشتم ولی جواب نمی ده


if ( b = true ? Page.IsPostBack : !Page.IsPostBack)
{
b=false
}

PhoenixNet
دوشنبه 19 مهر 1389, 18:05 عصر
IsPostBack یک Properties فقط خواندنی می باشد یعنی شما نمیتونید مقدار براش تعیین کنید.

PostBack وقتی اتفاق می افتد که کاربر بر روی دکمه یا عنصری که Submit براش تعریف شده کلیک کنه.کد شما هم کار خاصی انجام نمی دهد.

دقیقا بنویسید چه مقصودی دارید تا بتونیم کمکتون کنیم.

ramin149
دوشنبه 19 مهر 1389, 18:27 عصر
این کدی که برای ایجاد کاربر استفاده می کنم


public partial class Pg_NewAdmin : System.Web.UI.Page
{
Address ad = new Address();
DataTable dt = new DataTable();
string error = "";
admin la = new admin();
protected void Button1_Click(object sender, EventArgs e)
{
Boolean b;
if ( b = true ? Page.IsPostBack : !Page.IsPostBack)
{
Validator var = new Validator(lbl_error);
string leveles = "";
if (rbn_admin.Checked)
{ leveles = "admin"; }
if (Rbn_manager.Checked)
{ leveles = "manager"; }
bool cname = var.txt_name(txt_name, img_name);
bool cfamily = var.txt_family(txt_Family, img_family);
bool cuser = var.txt_user(txt_Username, img_user);
bool cpass = var.txt_pass(txt_password, txt_Reppassword, img_pass);
bool cmail = var.IsEmailAdress(txt_Email, img_email);
if (cname == true && cfamily == true && cuser == true && cpass == true && cmail == true)
{
int card;
if (txt_Card.Text.Length == 0)
{
card = int.Parse("10");
}
else
{
card = Convert.ToInt32(txt_Card.Text);
}
la.INewAdmin(txt_name.Text.ToString(), txt_Family.Text.ToString(), txt_Username.Text.ToString(), txt_password.Text.ToString(), leveles.ToString(), txt_Father.Text.ToString(), txt_Phone.Text.ToString(), txt_Email.Text.ToString(), card);
dt = la.Select(txt_Username.Text.ToString());
la.Pkadmin = dt.Rows[0]["id"].ToString();
la.cadmin = cmb_cadmin.Text.ToString();
la.ISecurity();
lbl_error.Text = "کاربر جدید ایجاد شد ";
b = false;
}
}


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

PhoenixNet
دوشنبه 19 مهر 1389, 18:37 عصر
راستش نفهمیدم چیکار می خوای بکنی.

ببین رو Postback شما کنترلی نداری.اگه می خوای وضعیت صفحه رو ببینی که مثلا کلیک اوله یا کلیک دوم می تونی از کنترل HiddenValue یا Session استفاده کنی.دفعه اول که کلیک شد مقدارشونو 1 کنی و دفعه بعد که کلیک شد چک کنی اگه مقدار یک بود کار مورد نظرتو انجام بدی.

unishomal
دوشنبه 19 مهر 1389, 18:41 عصر
متوجه نشدم چرا می خوای این کارو کنی ولی اگه بخوای واسه یه کنترل خاص این کارو کنی مثل یه button راش اینه


bool f=false;
یا

bool f=true;

button1.autopostback=f;