2013-09-09 4 views
0

Я попытался сгенерировать уникальный идентификатор, начиная с 1, но число остается неизменным .. Я пытаюсь использовать переменную сеанса, чтобы она могла идти как 1,2,3,4 .. .сгенерируйте уникальный идентификатор в C#

Главная:

protected void calculateButton_Click(object sender, EventArgs e) 
{ 
int bookingID = 0; 
    bookingID += 1; 
    bookingIDTextBox.Text = bookingID.ToString(); 
} 
protected void confirmButton_Click(object sender, EventArgs e) 
{ 
    Session["confirmBooking"] = "confirm"; 
    Session["bookingID"] = bookingIDTextBox.Text; 
    Response.Redirect("MainBookingForm.aspx"); 
} 

Вторая страница:

protected void newBookingButton_Click(object sender, EventArgs e) 
{ 
    string bookingRef = (string)(Session["bookingID"]); 
    Session["bookingRef"] = bookingRef; 
    Response.Redirect("BookingForm.aspx"); 
} 
+0

Видимо, у вас есть сессия. Почему бы не увеличить число сеансов? Ваша новейшая идентификация уже известна. – Aphelion

ответ

0

вы объявляете переменную каждый раз, когда вы нажимаете кнопку, так что всегда будет 1

Объявите переменную вне метода

int bookingID = 0; 
protected void calculateButton_Click(object sender, EventArgs e) 
{ 
    bookingID += 1; // You can also use bookingID++ 
    bookingIDTextBox.Text = bookingID.ToString(); 
} 

EDIT к сведению, что она будет сброшена при перезапуске приложения, вы можете хранить его где-нибудь (настройки приложения/базы данных и т.д.)

+0

Спасибо. Я думаю, все отсортировано. – user2699500

1

вы можете использовать объект Application - он является частью HttpContext и доступен непосредственно на любой странице.

Если вы не хотите его использовать, вы можете написать класс Globals (или любое другое имя), в котором содержатся статические элементы.

public class Globals 
{ 
    public static int Counter { get; set;} 
} 

// accessed from other classes: 
Globals.Counter++; 
+1

Обратите внимание, что это будет сбрасываться всякий раз, когда веб-приложение будет перерабатываться. Возможно, вы захотите сохранить этот номер в базе данных или что-то, что сохранится при перезагрузке. –