2010-01-21 2 views
0

MVC C#에서 사용자가 성, 이름, 부서, 연도를 입력하고 검색 버튼을 클릭하여 양식을 다시 만들 수있는 양식을 만들려고합니다. 입력 된 검색 기준을 기반으로하는 직원 목록MVC에서 필터링/검색에 사용되는 여러 텍스트 상자 C#

내 문제는 하나의 검색 버튼으로 여러 검색 텍스트 박스 기준을 허용하고 있습니다.

아래의 HTML 동작 링크에 값을 하드 코드 할 수 있지만 작동하지만 텍스트 상자에서 값을 가져올 수 없습니다.

<%= Html.ActionLink("Results", "Results", new { lastName = "Smith", 
    firstName = "", dept = "", year = "2008" })%> 

난 정말 그냥 데이터베이스에서 목록을 가지고 네 개의 텍스트 상자와 검색 버튼을하고 싶습니다.

도움 주셔서 감사합니다.

답변

0

양식과 제출 단추를 사용해야한다고 생각합니다. 양식의 모든 입력 필드 값을 가져오고 전체 페이지를 새로 고칠 필요가 없도록 아약스로이 작업을 수행 할 수 있습니다.

양식 솔루션을 원하지 않으면 텍스트 상자의 값 변경을 감지하고 컨트롤러에 대한 ajax 호출을 수행하고이 값을 보내는 자바 스크립트 (jquery가 좋다)를 사용할 수 있습니다. .

+0

감사합니다, 당신은이의 예를 가지고 일어날 것? –

1

양식이있는 경우 각 텍스트 상자 (또는 양식의 다른 태그) 값과 함께 제출할 수 있습니다.

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Results(string lastName, string firstName, string dept, int year) 

이 메서드는 결과를 오버로드하고 POST 요청에 의해서만 실행됩니다. 당신의 Index.aspx 페이지

<% using (Html.BeginForm()) { %> 

    <%= Html.TextBox("firstname") %> 
    <%= Html.TextBox("lastname") %> 

    <input id="submit1" type="submit" value="Submit" /> 

<% } %> 

이것은 "FIRSTNAME"와 "LASTNAME"양식 필드 값을 게시 할 것입니다 그리고 당신은 @ Trimack의 예에서와 같이 당신의 행동을 데리러 온

+0

Index.aspx에있는 텍스트 상자의 값을 Results 메서드에 전달하는 방법은 무엇입니까? 난 거의 aspx 파일에 속한 코드가 필요합니다. 도와 주셔서 감사합니다. –

+0

글쎄, 이미 그의 답변에 Coov를 썼다. 나는이 둘의 조합이 당신이 찾고있는 것을 할 것이라고 생각합니다. – Trimack

2

.

게시 된 데이터를 TempData를 사용하여 결과 페이지로 전달할 수 있습니다. 당신의 results.aspx 페이지에서

TempData["firstName"] = firstname; 

당신은 할 것 : 빠른 응답을위한

<%= Html.Hidden("firstname", TempData["firstName"]) %> 
관련 문제