ASP.NET (C #) событие происходит перед печатью - PullRequest
0 голосов
/ 18 января 2011

У меня есть веб-форма в ASP.Net с кодом C # позади. Это простая вещь, и я довольно новый, поэтому я немного застрял.

В исходном коде веб-формы у меня есть кнопка «Печать», которая выглядит следующим образом:

<asp:Button ID="btnPrint" runat="server" onclientclick="window.print();" Text="Print" />

Нет проблем. В коде у меня есть это:

 protected void btnPrint_Click(object sender, EventArgs e)
{
    //get current Date/Time
    string dateTime = DateTime.Now.ToLongDateString() + ", at " + DateTime.Now.ToShortTimeString();

    //set it to labelDate
    lblDate.Text = "Requested on " + dateTime; 

}

Итак, проблема в том, что когда я нажимаю кнопку печати, форма печатается до выполнения кода и ставит метку на этикетке (lblDate.Text).

Тааааааааа ... мой вопрос нуба, как получить эту дату / время для обработки перед печатью формы?

Спасибо за ваш совет.

Mark

Ответы [ 3 ]

4 голосов
/ 18 января 2011

Моим первым инстинктом было бы отказаться от события на стороне сервера и заполнить метку времени JavaScript перед вызовом печати.

1 голос
/ 18 января 2011

Попробуйте что-то вроде этого:

protected void btnPrint_Click(object sender, EventArgs e)
{
    //get current Date/Time
    string dateTime = DateTime.Now.ToLongDateString() + ", at " + DateTime.Now.ToShortTimeString();

    //set it to labelDate
    lblDate.Text = "Requested on " + dateTime; 

 ScriptManager.RegisterStartupScript(this, this.GetType(), "key", "window.print();", true);

}
0 голосов
/ 18 января 2011

Вместо вызова windows.print (), вызовите функцию, которая добавляет запрашиваемую дату и время. Это сделает работу.

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