У меня есть очень большой набор элементов управления, который генерирует наделите содержание сайтов в методе отклика (HtmlTextWriter автор) с использованием HtmlTextWriter.WriteLine (формата, PARAMS объекта [арг])HtmlTextWriter обертки для HtmlHelper.ViewContext.Writer неправильного формата дата
Если я пытаюсь использовать это в MVC с HtmlHelper я получаю следующее
var ts = DateTime.Now;
using (var writer = new HtmlTextWriter(helper.ViewContext.Writer))
{
writer.WriteLine("ToString(T) = " + ts.ToString("T") + "<br/>");
writer.WriteLine("string.Format = " + string.Format("{0:T}", ts) + "<br/>");
writer.WriteLine("WriteLine = {0:T}<br/>", ts);
}
ToString(T) = 9:27:07 AM
string.Format = 9:27:07 AM
WriteLine = 09:27:07 <=== This is in a 24 Hour Format
Если я использую «helper.ViewContext.HttpContext.Response.Output» вместо того, чтобы затем форматирование правильно, но содержание outputed выше всего остального в представлении.
интересно Кроме того, если MVC aciont могу выводить VIEW directy в поток ответа вместо генерации большого HtmlStrings
SIMPLE TEST DATA
Это не проблема MVC, но, возможно, проблема Бритвы, я могу чтобы повторить это в простой cshtml файл
@{
var ts = DateTime.Now.AddHours(24 * 5 - 5);
}
ToString(T) = @ts.ToString("d") @ts.ToString("T") <br />
StringFormat = @string.Format("{0:d} {0:T}", ts) <br />
@using (var writer = new HtmlTextWriter(this.Output))
{
writer.WriteLine("Output.WriteLine: {0:d} {0:T}<br/>", ts);
}
@using (var writer = new HtmlTextWriter(this.Response.Output))
{
writer.WriteLine("Respone.Output.WriteLine: {0:d} {0:T}<br/>", ts);
}
RESULTS
Respone.Output.WriteLine: 1/4/2016 8:11:11 AM <== Correct but rendered at the top
ToString(T) = 1/4/2016 8:11:11 AM <== Correct
StringFormat = 1/4/2016 8:11:11 AM <== Correct
Output.WriteLine: 01/04/2016 08:11:11 <== Wrong format, this is 24HR
Не уверен, что я могу следить за тем, что вы здесь говорите. –