He migrado de mvc 3 a mvc 4 y me encontré con el siguiente problema.Primera línea vacía en razor mvc 4 rc
@using InvoiceDocflow.Controllers
@{
Response.ContentType = "text/xml";
}
<?xml version="1.1" encoding="UTF-8" ?>
<dc>
@foreach (var dcLink in (IEnumerable<DcLink>)ViewData["SupportedDcs"])
{
<link rel="@dcLink.RelUri.ToString()" href="@dcLink.DcUri.ToString()" />
}
</dc>
Esta es mi opinión. Mi diseño es sólo una línea
@RenderBody()
Así que en MVC 3 <?xml version="1.1" encoding="UTF-8" ?>
apareció en la primera línea, pero ahora, sus aparece en la segunda línea, dejando XX primera línea vacía.
¿Puedo hacer que rinde en la primera línea como lo fue en MVC 3?
Por cierto.
@using InvoiceDocflow.Controllers
@{
Response.ContentType = "text/xml";
}<?xml version="1.1" encoding="UTF-8" ?>
Esto funcionaría, pero esto no es lo que quiero hacer en absoluto.
No veo nada bsd en el comportamiento de Mvc4: copia en la página todos los retornos de carro que están fuera de un bloque de código, por lo que si no quiere que el carro retorne debe poner Xml ... ... en la misma línea. ¿Qué está mal con esto? –
No necesito el bloque de código para influir implícitamente en la salida. Simplemente está mal. Estuvo bien en MVC 3. –
El punto es que el retorno de carro está fuera del bloque de código por lo que se informa en el outpunt. Mientras que Vb está orientado a la línea, C# no lo es. Es evidente que el Mvc 4 toma una definición diferente de bloque de código que Mvc3 ... pero no creo que se pueda decir que la definición de Mvc 4 "es incorrecta" ... simplemente diferente. –