مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

فراخوانی چندباره کدهای فرم در ASP.net C#

ﺳﻪ شنبه, 21 شهریور 1396 12:34

فراخوانی چندباره کدهای فرم در ASP.net C#

باسلام

من webformی دارم که یک counter داره و هربار که صفحه باز میشه این counter یکی بالا باید بره. مشکلی که  دارم اینه که کدهای داخل code behind دوبار فراخوانی میشن.

من کدم رو داخل if(!Ispostback) نوشتم و AutoEventWireup صفحه رو هم true قرار دادم. اما نمیفهمم چرا کدهای من همیشه دو دفعه call میشن.

متشکرم

ﺳﻪ شنبه, 21 شهریور 1396 13:44

کدتون رو قرار بدید تا بررسی کنم

ﺳﻪ شنبه, 21 شهریور 1396 13:49

کدمربوط به code behind که داخل page_load نوشته شده:

   

            if (!Page.IsPostBack)
            {
                AmarDay amarday = db.AmarDays.Where(x => x.Date == ShamsiDate).FirstOrDefault();
                int amar = 1;
                if (amarday == null)
                {
                    db.AmarDayIns(1, ShamsiDate);
                    db.SaveChanges();
                }
                else
                {
                    amar = amarday.Amar.Value + 1;
                    db.AmarDayUpd(amar, ShamsiDate, amarday.Id, amarday.Id);
                    db.SaveChanges();
                }
                //----------------------------
                lbl_amarToday.Text = amar.ToString();
            }

ﺳﻪ شنبه, 21 شهریور 1396 13:52

در کدام رویداد نوشتید و در کدام صفحه ؟

ﺳﻪ شنبه, 21 شهریور 1396 13:52

این هم کد ابتدایی web form بخش html

<%@ Page Language="C#" ViewStateMode="Inherit"
    MasterPageFile="~/_Layout.master" AutoEventWireup="true" 
    Inherits="anti_virus_bit_defender" CodeBehind="bit-defender.aspx.cs" %>

ﺳﻪ شنبه, 21 شهریور 1396 13:54

توی page_load نوشتم و دریکی از صفحات نمایش اطلاعات

public partial class anti_virus_bit_defender : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {


 if (!this.IsPostBack)
        {
 //همین کدهایی که الان گذاشتم

        }

    }
}

ﺳﻪ شنبه, 21 شهریور 1396 13:55

در رویداد زیر تست کنید

protected void Page_LoadComplete(object sender, EventArgs e)
{
    display();
}

ﺳﻪ شنبه, 21 شهریور 1396 14:08

درست شد.متشکرم

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید