Как показать сообщение об успешном завершении? - PullRequest
6 голосов
/ 05 марта 2011

Используя C # с ASP.NET, как мне показать сообщение об успехе, когда мой пользователь отправляет форму? И в то же время произнесите «Изображение успешно сохранено» со ссылкой, чтобы созданное изображение можно было просмотреть, нажав на ссылку?

Ответы [ 4 ]

6 голосов
/ 05 марта 2011

Оберните вашу форму в <asp:Panel> и создайте еще одну <asp:Panel> с Visible="False" для вашего сообщения Спасибо. После отправки формы измените видимость каждой панели, установив для формы значение Visible="False", а для панели сообщений благодарности - Visible="True".

Надеюсь, что это имеет смысл, вот пример:

<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>

Тогда внутри вашего кода

protected void btnSubmit_Click(object sender, EventArgs e) {
    // Hook up uploaded image and assign link to it
    pnlFormFields.Visible = false;
    pnlThankYouMessage.Visible = true;
}
2 голосов
/ 05 марта 2011

Если вам нужен ярлык для отображения сообщения. Добавьте метку на странице и установите ее атрибут visible = false в aspx и используйте следующий код:

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;
}

Для согласованности вы можете использовать Transaction в приведенном выше коде, чтобы предотвратить операцию сохранения, если загрузка изображения не удалась. В противном случае это ваш выбор. Новый код с транзакцией будет указан ниже:

 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()
}

Здесь для ссылки на область транзакции добавьте ссылку System.Transactions.

0 голосов
/ 05 апреля 2011

используйте метку (visible = false) и гиперссылку из набора инструментов. Когда вы загружаете изображение, вы должны вставлять URL-адрес местоположения файла сохранения в базу данных. Поэтому, когда этот запрос вставки будет запущен, будет возвращаться целочисленное значение, котороеесли нет строк, вставленных в db.com, поменяйте его, как если бы это значение> 0, а затем установите видимость метки в true, а label.text = "success", наконец, установите URL-адрес навигации по гиперссылке на URL-адрес сохраненного изображения, которое можно использоватьсоздать ссылку для просмотра изображения

0 голосов
/ 31 марта 2011

Если вы хотите показать сообщение на клиентских элементах управления, например, оповещение («saccess»);вы можете использовать ajax и webmethod в Почему мой код jQuery не работает в Firefox и Chrome? Если вы хотите показать сообщение на стороне сервера, вы можете использовать панель, метку или div (сервер runat и идентификатор)и их установка по умолчанию, установите видимое ложное значение, когда вы показываете сообщение, вы можете установить видимое истинное значение с помощью кода позади ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...