2011-03-05 27 views
6

C# ile ASP.NET kullanarak, kullanıcı bir form gönderdiğinde "başarı" iletisini nasıl gösterebilirim? Ve aynı zamanda "Görüntü başarıyla kaydedildi" diyerek, bir bağlantıyla, oluşturulan görüntü bağlantıyı tıklayarak görüntülenebilir."Başarı" mesajı nasıl gönderilir?

cevap

6

Formunuzu bir <asp:Panel> ürününe gönderin venumaralı ürününü, Visible="False" numaralı ürünüyle birlikte Teşekkür ederiz iletiniz için oluşturun. Form gönderildikten sonra, her bir panelin görünürlüğünü değiştirin, formu Visible="False" olarak ayarlayın ve teşekkür mesajı mesajını Visible="True" olarak değiştirin. mantıklı

Umut, burada bir örnek: senin codebehind

protected void btnSubmit_Click(object sender, EventArgs e) { 
    // Hook up uploaded image and assign link to it 
    pnlFormFields.Visible = false; 
    pnlThankYouMessage.Visible = true; 
} 
2

içeride Sonra

<asp:Panel ID="pnlFormFields" runat="server"> 
    ... form fields here ... 
</asp:Panel> 

<asp:Panel ID="pnlThankYouMessage" runat="server" Visible="False"> 
    ... Thank you message here ... 
</asp:Panel> 

iletiyi görüntülemek için etiket gerekir. sayfadaki etiket ekleme ve aspx içinde = görünür false onun niteliğini ayarlamak ve aşağıdaki kodu kullanın: resim yükleme başarısız olursa kayıt işlemi önleyecek şekilde yukarıdaki kodda İşlem kullanabilirsiniz Tutarlılık açısından

protected void btnSubmit_Click(object sender, EventArgs e) { 
    if(SaveRecordsToDataDatabase()) 
    { 
     If(UploadImage()) 
     { 

      showMessage("Save successfull",true); 
     } 
     else 
     { 
      showMessage("Save failed",false); 
     } 
    } 
    else 
     { 
      showMessage("Save failed",false); 
     } 
} 

private bool UploadImage() 
{ 
    // you upload image code.. 
} 

private bool SaveRecordsToDatabase() 
{ 
    // db save code 
} 

private void showMessage(string message, bool success) 
{ 
    lblMsg.visible = true; // here lblMsg is asp label control on your aspx page. 
    lblMsg.FontBold = true; 
    if(success) 
     lblMsg.ForeColor = Color.Green; 
    else 
     lblMsg.ForeColor = Color.Green; 
    lblMsg.Text = message; 
} 

. Aksi takdirde sizin seçiminiz. İşlem ile yeni kod aşağıda verilecektir: Burada

protected void btnSubmit_Click(object sender, EventArgs e) { 

using(TransactionScope scope = new TransactionScope()) 
{ 
     if(SaveRecordsToDataDatabase()) 
     { 
      If(UploadImage()) 
      { 

       showMessage("Save successfull",true); 
      } 
      else 
      { 
       showMessage("Save failed",false); 
      } 
     } 
     else 
      { 
       showMessage("Save failed",false); 
      } 
    } 
    scope.complete() 
} 

referans System.Transactions ekleyin işlem kapsamı başvurmak için.

0

İstemci tarafı denetimlerinde, uyarı ("saccess") gibi bir mesaj göstermek istiyorsanız; Why doesn't my jQuery code work in Firefox and Chrome? adresinde adresinde ajax ve webmethod kullanabilirsiniz, eğer sunucu tarafında mesaj göstermek istiyorsanız panel, etiket veya div (runat server ve id) ve varsayılan ayarlarınızı kullanabilir, false olarak ayarlayabilirsiniz, arkasındaki kodu kullanarak gerçek görünür ...

0

bir etiket (visible = false) ve araç kutusundan bir köprü kullanın. Bir resim yüklediğinizde, u bir dosyaya kaydetme konumu dosyasının bir veritabanına eklenmesi gerekir. db olarak eklenen satırların hiçbiri olmayan bir tamsayı değeri döndürecektir. Bu değer> 0 değeri gibi görünürse, etiketin görünebilirliğini true olarak belirler ve label.text = "başarı" son olarak köprünün gezinme URL'sini Resmin

görüntü bağlantısını oluşturmak için kullanılabilecek kaydedilmiş görüntünün URL'si