我想从sql server数据库中搜索记录,但我无法搜索记录,我的索引表单代码如下:
<%using (Html.BeginForm("Submit","Candidates",FormMethod.Post)){ %>
Enter keyword to search
<div id="searchBox">
<input type= "text" name="FirstName"
id="FirstName" maxlength="70" onfocus="this.value=''" value=""/><br />
<input id="search" type="submit" value="Search" />
</div>
<% } %>
mysql存储库代码
public class SqlCandidatesRepository:ICandidatesRepository
{
private Table<Candidate> candidatesTable;
public SqlCandidatesRepository(string connectionString)
{
candidatesTable = (new DataContext(connectionString)).GetTable<Candidate>();
}
public IQueryable<Candidate> SearchCandidate(string key)
{
var candidate = (from p in
candidatesTable
where p.FirstName == key
select p);
return candidate;
}
}
控制器代码
public class CandidatesController : Controller
{
//
// GET: /Products/
private ICandidatesRepository candidatesRepository;
public CandidatesController(ICandidatesRepository candidatesRepository)
{
this.candidatesRepository = candidatesRepository;
}
public ActionResult CandidateSearch(string name)
{
var candidate = candidatesRepository.SearchCandidate(name);
return View(candidate.ToList());
}
}
异常追踪:
描述:HTTP 404.资源 你正在寻找(或其中一个 依赖)可能已被删除, 它的名字改了,或者是 暂时不可用。请 查看以下网址并确保 拼写正确。 请求的URL:/ Home / Submit **
请帮助并给我示例代码谢谢。
答案 0 :(得分:0)
您的标记正在创建一个表单,该表单将发布到“候选人”控制器上的“提交”操作。
我不知道您的控制器被调用了什么,但您的操作被称为“CandidateSearch”。
将您的标记更改为:(假设您的页面由其回发的同一个控制器呈现)。
<% using (Html.BeginForm("CandidateSearch")){ %>
OR
<% using (Html.BeginForm("CandidateSearch","TheControllerName")){ %>