C# 使用最后4位进行搜索
只是需要一个额外的搜索功能提示。我可以使用完整的9位ItemID(123456789)进行搜索,但无法在完整数字搜索的基础上使用ItemID的最后4位添加搜索功能?ItemID不包含固定的数字。它应该从任何ItemID号中选取最后4位数字C# 使用最后4位进行搜索,c#,C#,只是需要一个额外的搜索功能提示。我可以使用完整的9位ItemID(123456789)进行搜索,但无法在完整数字搜索的基础上使用ItemID的最后4位添加搜索功能?ItemID不包含固定的数字。它应该从任何ItemID号中选取最后4位数字 public ActionResult Search(SearchEmployeeModel searchEmployeeModel) { searchEmployeeModel.ItemID = searchEmployeeMod
public ActionResult Search(SearchEmployeeModel searchEmployeeModel)
{
searchEmployeeModel.ItemID = searchEmployeeModel.ItemID != null ? searchEmployeeModel.ItemID.Replace("'", "''") : searchEmployeeModel.ItemID;
searchEmployeeModel.First_Name = searchEmployeeModel.First_Name != null ? searchEmployeeModel.First_Name.Replace("'", "''") : searchEmployeeModel.First_Name;
List<SearchEmployeeModel> searchResult = repository.GetSearchItem(searchEmployeeModel.ItemID, searchEmployeeModel.First_Name);
Session["SearchEmployeeModelHome"] = searchEmployeeModel;
Session["searchResultHome"] = searchResult;
return RedirectToAction("Index");
}
public List<SearchEmployeeModel> GetSearchItem(string ItemID, string First_Name)
{
var searchItem = _db.Query<SearchEmployeeModel>("usp_SearchItem", new
{
@ItemID = ItemID
@First_Name = First_Name,
}, null, true, 300, CommandType.StoredProcedure).ToList();
return searchItem;
}
公共操作结果搜索(SearchEmployeeModel SearchEmployeeModel)
{
searchEmployeeModel.ItemID=searchEmployeeModel.ItemID!=null?searchEmployeeModel.ItemID.Replace(“,”):searchEmployeeModel.ItemID;
searchEmployeeModel.First_Name=searchEmployeeModel.First_Name!=null?searchEmployeeModel.First_Name.Replace(“'”,“''):searchEmployeeModel.First_Name;
List searchResult=repository.GetSearchItem(searchEmployeeModel.ItemID,searchEmployeeModel.First_Name);
会话[“SearchEmployeeModelHome”]=searchEmployeeModel;
会话[“SearchResultThome”]=搜索结果;
返回操作(“索引”);
}
公共列表GetSearchItem(字符串ItemID,字符串名)
{
var searchItem=_db.Query(“usp_searchItem”,新建
{
@ItemID=ItemID
@First_Name=First_Name,
},null,true,300,CommandType.StoredProcedure).ToList();
返回搜索项;
}
不清楚您是如何获得ID的,但一旦您在字符串列表(或单个字符串)中有了ID,就可以使用正则表达式确定它们是否由字符串中的最后四位数字找到,例如:
var ids = new List<string>() { "123456789", "678912345", "123456781", "666666789" };
var foundIds = ids.Where(id => Regex.IsMatch(id, "6789$")).ToList();
varids=newlist(){“123456789”、“678912345”、“123456781”、“666666789”};
var foundIds=ids.Where(id=>Regex.IsMatch(id,“6789$”).ToList();
模式显示在字符串
$
的末尾查找6789
。经过处理后,foundId
将包含两个ID“123456789”和“666666789”。您想在C#还是SQL中执行此操作?如果是后者,请向我们展示您当前的存储过程。此外,这不是您的代码的外观,程序员通常是这样读取代码的。请确保您已经格式化了问题中的代码,帮助我们帮助您我正在尝试使用c实现它,我怀疑这是您想要的,但是在c中,您可以使用类似于str1.Substring(str1.Length-4,4)==str2.Substring(str2.Length-4,4)的方法来实现。您还需要确认两个字符串的.Length
都是>=4
。如果这不是您真正想要做的,请回答这个问题并尝试用a来澄清。我正在尝试搜索ItemID的最后4位(123456789)作为筛选条件。我从这里获得ItemID:@Html.Grid(Model.Columns)(Columns=>{Columns.Add(c=>c.ItemID)。标题为(“ItemID”);columns.Add(c=>c.First_Name).Titled(“First Name”).Filterable(true);}).WithPaging(5).Sortable(true)公共类SearchItemModel{public string ItemID{get;set;}public string First_Name{get;set;}@Semi您把问题复杂化了。StackOverflow不是关于最终结果,而是修复单个小项目。我已经解决了链中的一个项目。它应该给您足够的时间使其适应您当前的设计。:-)请在代码片段中添加一些解释,而不是只添加代码。
string credit = "123456789"; ;
var last4 = credit.Substring(credit.Length - 4, 4);