2013-02-15 2 views
0

사용자 입력을 URL에 전달해야합니다. 내 CourseController 조치는 다음과 같습니다 사용자 입력을 URL에 전달하십시오.

public ActionResult Parameter(DateTime start, DateTime end) 
    { 
     //some operations 

      return View(); 
    } 

나는 내보기에 사용자로부터 시작 시간과 종료 시간을 얻을. 다음과 같은 URL을보고 싶습니다. Course/Parameter/start = userinput & & end = userinput 어떤 도움을 주시면 감사하겠습니다.

My model is: 
     public class MachineSql{ 

     public List<Machines> SqlAccessParameter(DateTime startDate, DateTime endDate) 
    { 

     SqlConnection myConnection = new SqlConnection(connstr); 
     myConnection.Open(); 
     SqlCommand myCommand = new SqlCommand("DateRange",myConnection); 
     myCommand.CommandType = CommandType.StoredProcedure; 
     myCommand.Parameters.Add("@SP_startDate", SqlDbType.DateTime).Value = startDate; 
     myCommand.Parameters.Add("@SP_endDate", SqlDbType.DateTime).Value = endDate; 

     SqlDataAdapter dataAdapter = new SqlDataAdapter(); 
     myCommand.ExecuteNonQuery(); 
     dataAdapter.SelectCommand = myCommand; 

     DataSet dSet = new DataSet(); 
     dataAdapter.Fill(dSet); 

     myConnection.Close(); 

     List<Machines> machinePost = new List<Machines>(); 
     foreach (DataRow row in dSet.Tables[0].Rows) 
     { 
      Machines mac = new Machines(); 
      mac.AutoKey = (int)row["AUTOKEY"]; 
      mac.MachineGroup = (string)row["MACHINEGROUP"]; 
      mac.Duration = (int)row["DURATION"]; 
      mac.StartDate = (DateTime)row["STARTTIME"]; 
      mac.EndDate = (DateTime)row["ENDTIME"]; 
      machinePost.Add(mac); 
     } 
     return machinePost; 
    }} 
+1

"내보기에서 사용자의 시작과 끝"이라고 말하면 양식을 사용하여 제출 한 것입니까? – tomasmcguinness

+0

@tomasmcguinness 예, @using (ajax.beginform ('ActionName', 'ControllerName')) – pln

+0

URL을 통해 값을 전달 하시겠습니까? – tomasmcguinness

답변

0

당신이 아약스 도우미를 사용하고 있기 때문에이 URL 매개 변수를 쉽게 추가 할 수 있습니다 :

Course/Parameter?start=userinput&end=userinput 
0

그냥 확인 :

@using(ajax.beginform('Parameter', 
         'Course', 
         //here is how you add url params 
         new { 
          start = @Model.StartDate, 
          end = @Model.EndDate 
          } 
         // Any ajax actions needed such as HyypMethod, 
         // OnSuccess, etc... 
         new AjaxOptions 
          { 
           //options here 
          }, 
         )) 

이 당신에게 같은 것이 보이는 URL을 줄 것이다 startend이라는 양식에 두 개의 필드를 넣으십시오.이 필드는 해당 제어기 메소드에 제출되는 양식의 일부 여야합니다. ASP.NET MVC는 경로가 해당 컨트롤러 메서드와 일치 할 때 값을 DateTime으로 자동 변환합니다. 당신이 jQuery를 아약스를 사용하는 경우

, 다음에 data 설정에 의해 통과 :

{ 
    start: value, 
    end: value 
} 

그리고 dataType에 "JSON"로 설정하십시오.

자세한 내용은 http://api.jquery.com/jQuery.ajax/을 참조하십시오.

관련 문제