Diferencia entre '(comillas simples) y "(comillas dobles) en ASP.NET 4

2011-09-15 39 views
6

Quiero llamar a MyMethod en código subyacente desde el control del servidor en la página aspx como se muestra a continuación.Diferencia entre '(comillas simples) y "(comillas dobles) en ASP.NET 4

MyPage.aspx

<asp:Label ID="MyLabel" runat="server" Text='<%# MyMethod(Eval("MyColumn")) %>'> 

MyPage.aspx.cs

protected void MyMethod(object obj) { ... } 

si uso " lugar ' en la página aspx entonces me dará un error de compilación La etiqueta servidor no es así formado. como a continuación.

<asp:Label ID="MyLabel" runat="server" Text='<%# MyMethod(Eval("MyColumn")) %>'> // This line work 
<asp:Label ID="MyLabel" runat="server" Text="<%# MyMethod(Eval("MyColumn")) %>"> // This line error 

Quiero saber por qué tengo que usar comillas simples, ¿es una regla? ¿Cómo puedo usar comillas dobles en mi situación?

Respuesta

6

Quiero saber por qué necesito usar comillas simples, ¿es una regla? ¿Cómo puedo usar comillas dobles en mi situación?

El uso de comillas simples sobre comillas dobles es solo para dejar en claro dónde termina la cadena. No puede usar Text = "MyMethod (" 123 ")" porque el texto comienza con la M y puede terminar con la (o la 3 o la última). Al usar comillas simples y dobles, el compilador sabe cuándo finaliza la cadena.

Text="MyMethod('123')" 

Text='MyMethod("123")' 

Su ejemplo es acerca del enlace, pero dejó que dice que le gustaría tener una cita doble durante el uso de comillas dobles para una situación no vinculante. Podría haber usado la entidad HTML "

Text="This is my string with &quot; inside &quot;" //This will produce : This is my string with "inside" 
Cuestiones relacionadas