0
データベースに保存されているイメージのサムネイルを収集した自動補完検索ボックスがあります。問題は、画像名がオートコンプリート検索ボックスに表示されるたびに.jpg拡張子が表示されることです。とにかく.jpg拡張子が表示されないようにこれらのコードを変更することはできますか?以下は、javascriptとashxを使用して私の既存のコードです。 ありがとうございます!ファイル拡張子のないデータベース格納イメージの検索結果を表示
ASPX:
<script src="scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="scripts/jquery.autocomplete.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#<%=txtSearch.ClientID%>").autocomplete("Search.ashx", {
width: 200,
formatItem: function (data, i, n, value) {
return "<img style = 'width:50px;height:50px' src= 'Images/" + value.split(",")[1] + "'/> " + value.split(",")[0];
},
formatResult: function (data, value) {
return value.split(",")[0];
}
});
});
</script>
<style type="text/css">
.Gridview {
font-family: Verdana;
font-size: 10pt;
font-weight: normal;
color: black;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
Search here:
<asp:TextBox ID="txtSearch" runat="server" />
<br />
</div>
<div>
<asp:FileUpload ID="fileuploadimages" runat="server" />
<br />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
</div>
<div>
</div>
<asp:Label ID="lblResult" runat="server"></asp:Label>
</form>
</body>
</html>
ASHX:
public class Search : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string searchText = context.Request.QueryString["q"];
string strcon = ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString;
SqlConnection connection = new SqlConnection(strcon);
connection.Open();
SqlCommand cmd = new SqlCommand("select ID,ImageName,ImagePath from ImagesPath where ImageName Like @Search + '%'", connection);
cmd.Parameters.AddWithValue("@Search", searchText);
StringBuilder sb = new StringBuilder();
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
sb.Append(string.Format("{0},{1}{2}", dr["ImageName"], dr["ImageName"], Environment.NewLine));
}
}
connection.Close();
context.Response.Write(sb.ToString());
}
public bool IsReusable
{
get
{
return false;
}
}
}
ありがとうVDWWD最初のオプションが機能しました。しかし、.jpg、.png、.gifなどの複数の拡張機能の場合、イメージはデータベースに格納されているとみなしてGetFileNameWithoutExtensionを実装するにはどうすればよいですか? –
私の答えをあなたのスニペットにあわせて更新しました。 – VDWWD
VDWWDのアップデートをありがとう。ここでも、「パス」に「パスは現在のコンテキストに存在しません」というメッセージが下線付きで表示されます。 –