2014-10-05 6 views
0

Проблема в том, что я хочу автоматически увеличивать значение каждый раз, когда пользователь нажимает кнопку, я пробовал это с помощью и без обновления, я также искал googled и ничего не придумал. Каждый раз, когда кто-то нажимает кнопку, номер автоматически увеличивается и присваивается метке. Может кто-то помочь мне, пожалуйста, любая помощь приветствуется, я позже буду использовать номер для хранения в базе данных SQL.autoincrement value on click asp.net C#

Страница Default.asp.

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <ContentTemplate> 
      <fieldset> 
      <legend>UpdatePanel</legend> 
      <asp:Label ID="Label1" runat="server" Text="Panel created."></asp:Label><br /> 
      </fieldset> 
     </ContentTemplate> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" /> 
     </Triggers> 
    </asp:UpdatePanel> 
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> 

код позади:

protected void Button1_Click(object sender, EventArgs e) 
{ 
    Label1.Text = autogen.ToString(); 
    autogen++; 
} 

ответ

0

если вы хотите сохранить переменную во время обратной передачи, вы должны сохранить его в ViewState

protected void Page_Load(object sender, EventArgs e) 
{ 
    ViewState["autogen"] = 0; 
} 

protected void Button1_Click(object sender, EventArgs e) 
{ 
    var autogen = Convert.ToInt32(ViewState["autogen"]); 
    Label1.Text = autogen.ToString(); 
    ViewState["autogen"] = autogen + 1; 
} 
+0

Привет, спасибо за быстрый ответ. Когда я набираю код, который вы только что здесь помещаете, я получаю erorr: операнд increment или decment opeartor должен быть переменной, свойством или индексом. Это показано в разделе ((int) кода ((int) ViewState ["autogen"]) ++ – Jomino

+0

Извините, я меняю код –

+0

Привет, снова спасибо. Я просто удалил ViewState ["autogen"] = 0 от функции page_load и ее работы так, как я хочу. Спасибо за помощь. – Jomino