Pregunta
He estado buscando en internet con el string.format de mi código y parece que no puedo encontrar el más adecuado que se ve como en mi código.
DataColumn dtCol;
dtCol = new DataColumn("ImagePath", System.Type.GetType("System.String"));
dtImages.Columns.Add(dtCol);
dtImages.Columns["ImagePath"].Expression = string.Format("<a href=\"'{0}'+ImageFilename\">View Image</a>", ImageDownloadPath);
(el ImageFileName es una columna en mi mesa de base de datos) el código anterior siempre se genera un error de "Error de sintaxis: falta operando antes '<' operador"
¿Cómo se hace esto correctamente?
Solución 4
Gracias por ayudarme. Yo era capaz de averiguar la manera de hacerlo. Gracias por todos los mensajes.
Otros consejos
Tal vez intente lo siguiente?
string.Format("<a href=\"{0}\\{1}\">View Image</a>", ImageDownloadPath, ImageFilename);
En el código que está utilizando '
de todo el identificador de formato de cadena, lo que habría mostrado a continuación, en su cadena con formato, y la propiedad ImageFilename
no estaba siendo utilizada correctamente. Sería simplemente se han añadido como texto sin formato.
El resultado de su cadena con los siguientes valores sería como tal:
ImageFilename = "1.jpg";
ImageDownloadPath = "http://www.downloadme.com/images";
Yours: <a href="'http://www.downloadme.com/images'+ImageFilename">View Image</a>
Mine: <a href="http://www.downloadme.com/images/1.jpg">View Image</a>
No está del todo claro a partir de la pregunta, pero creo que el problema no es un tiempo de compilación en absoluto ... no es de hecho uno con string.Format
. Es un problema con DataColumn.Expression
. Usted le está dando una expresión que incluye paréntesis angulares, por lo que supone que usted está tratando de realizar comparaciones.
No se puede decir que sé mucho sobre DataColumn.Expression
, pero se debe analizar el modo en que cita cuerdas ... y como se cita a las cotizaciones dentro de cadenas! Por ejemplo, este fuerza de trabajo:
dtCol.Expression = string.Format
("'<a href=\"{0}'+ImageFilename+'\">View Image</a>'",
ImageDownloadPath);
Sin embargo, creo que es probable que haga su vida un mucho más simple si no se intenta calcular el código HTML en la expresión para empezar. ¿Puede usted realmente no se aplique ningún procesamiento posterior?
Prueba esto:
dtImages.Columns["ImagePath"].Expression =
string.Format("<a href=\"'{0}'+ImageFilename\">View Image</a>", ImageDownloadPath);
Estoy bastante seguro de que el