PDA

View Full Version : آموزش highlight متن سرچ شده در نتایج جستجو



abadanboy
سه شنبه 21 مهر 1388, 23:00 عصر
سلام
احتمالا تا حالا متن سرچ شده توسط vBulletin را دیدید که متن سرچ شده در تمام نتایج جستجو شده به صورت highlight در میاد این برنامه هم همون کار رو می کنه
امیدوارم مورد استفاده واقع بشه

C#‎‎ کد


<script language="C#‎‎" runat="server">

public String Highlight(String Search_Str, String InputTxt, String StartTag, String EndTag)
{

string ResultStr = "";
if(InputTxt.ToLower().Contains(Search_Str.ToLower( )))
{
ResultStr = StartTag + InputTxt + EndTag;
}

/* اگر می خواهی عبارت کاملاً شبیه متن سرچ شده باشه اینو بکار ببر
if (InputTxt == Search_Str)
{
ResultStr = StartTag + InputTxt + EndTag;
}*/

else
{
ResultStr = InputTxt;
}
return ResultStr;
}

protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection("server=(local);database=northwind;integrated security=true");
SqlDataAdapter da = new SqlDataAdapter("select * from categories", cn);
DataSet ds = new DataSet();
da.Fill(ds);
SearchResults.DataSource = ds;
SearchResults.DataBind();
}
</script>

ASP.NET


<style type="text/css">

.highlight {text-decoration: none;color:black;background:yellow;}

</style>

<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txt1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Sabt" OnClick="Button1_Click" />
<asp:DataGrid ID="SearchResults" runat="server" Height="248px" AutoGenerateColumns="false">

<Columns>

<asp:TemplateColumn HeaderText="CatName">

<ItemTemplate>

<%# Highlight(txt1.Text.Trim(),Eval("CategoryName").ToString(),"<span class='highlight'>","</span>")%>

</ItemTemplate>

</asp:TemplateColumn>

</Columns>



</asp:DataGrid>
</div>
</form>
</body>
و در فایل ضمیمه کاملش هست :لبخندساده: