ASP.NET - Sobresaltar una palabra

 
Vista:

Sobresaltar una palabra

Publicado por Arias (30 intervenciones) el 16/06/2008 19:02:04
Bueno, el efecto que quiero conseguir es el siguiente.
Yo tengo un TextBox en el que introduzco una palabra y me busca si esa palabra está en una tabla de una BB.DD y me muestra el párrafo donde se encuentra.
Me gustaría que esa palabra, se sobresaltara en algún color o algún tipo de recalco para que el usuario vea mejor donde se encuentra esa palabra que ha introducido.
A ver si alguien puede echarme un cable...
Graciassss
P.D.: Estoy utilizando C# y ASP.NET... Supongo que habrá que utilizar JavaScripts, pero no tengo ni idea....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Sobresaltar una palabra

Publicado por @vm (196 intervenciones) el 16/06/2008 19:37:03
A este momento como estas mostrando el resultado, el parrafo???

Esto para saber que forma conviene mas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sobresaltar una palabra

Publicado por x (445 intervenciones) el 16/06/2008 23:37:55
Utiliza el metodo replace, disponible tanto en servidor como en cliente...

"hola mundo!".Replace("mundo", "<span style='color: red'>mundo</span>")

Espero te sirva. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sobresaltar una palabra

Publicado por Ariasss (30 intervenciones) el 17/06/2008 12:55:37
Hoy mismo por la tarde lo probaré... Pero creo que es algo más complicado... Y os comento...
Yo en el TextBox, por ejemplo, pongo la palabra "Parque", entonces, en un GridView me muestra el/los párrafo/s que contienen la palabra "Parque".

Ejemplo:
Buscar Parque

El Parque de Don Ana María está situado al norte del hemisferio sur del Palacio de Congresos...

Pues bien, quiero que sólo la palabra Parque aparezca resaltado, y en mi caso, supongo que sería el valor que recibe el TextBox1.Text.

¿Se hace como me ha dicho x x [at] x [punto] x o de otra forma?
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sobresaltar una palabra

Publicado por x (445 intervenciones) el 17/06/2008 15:40:48
Pues bien, en realidad, asi solo "resaltar", es lo mas sencillo que se me ocurre, si lo estas mostrando en un Grid, entonces el reemplazo lo puedes llevar a cabo en el metodo DataBound (no recuerdo exactamente el nombre del evento), y procesar la informacion contenida en las celdas que contienen la informacion de los parrafos, por ejemplo:

si en tu celda tienes como texto "hola mundo!" (dado que en tu busqueda colocaste hola mundo), haces

miGrid.Rows[i].Cells[j].Text = miGrid.Rows[i].Cells[j].Text.Replace("mundo", "<span class='miclase'>mundo</span>");

y al final obtendras el texto "hola mundo!", pero mundo tendra el estilo css de miclase... eso en teoria, dado que no lo he probado, si alguno sabe que estoy mal, o que asi no se hace por favor hacerlo notar.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Sobresaltar una palabra

Publicado por @vm (196 intervenciones) el 17/06/2008 16:46:27
Ejemplo práctico:

En el aspx:

<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="False" DataKeyNames="CategoryID">
<Columns>
<asp:BoundField DataField="CategoryName" />
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label2" Text='<%# MarcarPalabra(Eval("Description").ToString()) %>' runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

En el código:

public string MarcarPalabra(string strParrafo)
{
string strNuevoParrafo = "";

txtPalabra.Text = txtPalabra.Text.Trim();
if (txtPalabra.Text != "")
strNuevoParrafo = strParrafo.Replace(txtPalabra.Text, "<b>" + txtPalabra.Text + "</b>");
else
strNuevoParrafo = strParrafo;

return strNuevoParrafo;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sobresaltar una palabra

Publicado por Arias (30 intervenciones) el 17/06/2008 19:32:09
Lo probaré. Gracias a todos por vuestra ayuda.
Un saludo y ya os diré si funciona...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sobresaltar una palabra

Publicado por Ariasss (30 intervenciones) el 07/07/2008 12:38:16
Bien... NO LO CONSIGO, así que aquí os pongo mi caso:

string sQuery = "SELECT IDNum, Titulo FROM Ley WHERE Titulo LIKE '%" + capturaTextBox + "%'";
La variable capturaTextBox es la que quiero marcar cuando me lo muestre en un GridView...
Ya me direis como lo haríais, porque NO hay manera¡¡¡¡¡

GRACIAS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar