我尝试从1开始生成唯一ID,但数字保持不变。 我正在尝试使用会话变量,因此它可以像1,2,3,4 ......
主页:
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 :(得分:1)
每次按下按钮都会声明变量,因此它始终为1
在方法
之外声明变量int bookingID = 0;
protected void calculateButton_Click(object sender, EventArgs e)
{
bookingID += 1; // You can also use bookingID++
bookingIDTextBox.Text = bookingID.ToString();
}
编辑注意,重启应用程序时会重置它,您可能希望将其存储在某处(应用程序设置/数据库等)
答案 1 :(得分:1)
您可以使用Application对象 - 它是HttpContext的一部分,可以在任何页面上直接访问。
如果您不想使用它,您可能希望编写一个包含静态成员的Globals类(或您喜欢的任何名称)。
public class Globals
{
public static int Counter { get; set;}
}
// accessed from other classes:
Globals.Counter++;