2011-04-26 2 views
0

나는 내보기에서 다음이 : 내가 좋아하는 것 는 호출 한 방법

@using (Ajax.BeginForm("Refresh", "refresh", 
    new AjaxOptions { 
     UpdateTargetId = "status", 
     InsertionMode = InsertionMode.Replace, 
     OnBegin = "hide", 
     OnComplete = "show", 
    } 
    )) 
{ 
    <input type="submit" name="refresh" value="transfer1"/><br /> 
    <input type="submit" name="refresh" value="transfer2"/><br /> 
    <input type="submit" name="refresh" value="transfer3"/><br /> 
} 

는이 트리거 몇 가지 코드를 할 수 있도록 내 컨트롤러를 사용하고 모든 것을 하나의 방법으로 유지하십시오. 이 메서드 내에서 전달 된 값을 확인하고 어떤 값에 따라 어떤 작업을 수행하려고합니다.

사실 많은 입력 라인이 있기 때문에 이것은 중요합니다. 한 방법으로이 작업을 수행하는 방법을 잘 모르겠습니다. 모든 제안/조언을 많이 주시면 감사하겠습니다. 다음 작업을 수행 할 수있는 컨트롤러 액션의 버튼의 값을 얻기 위하여

+2

확실하지 당신이 무엇을 * ONE 방법 *을 의미합니다. 한 가지 방법 인'Refresh' 컨트롤러에서'Refresh' 액션에 폼을 제출하지 않습니까? –

+0

맞습니다. 새로 고침 작업 내에 모든 것을 보관하고 싶습니다. – Maritess

+1

그래, 그럼 뭐가 문제 야? –

답변

0

:

public ActionResult Refresh(string refresh) 
{ 
    if (refresh == "transfer1") 
    { 
     // Button 1 was clicked ... 
    } 
    else if (refresh == "transfer2") 
    { 
     // Button 2 was clicked ... 
    } 
    else if (refresh == "transfer3") 
    { 
     // Button 3 was clicked ... 
    } 
    ... 
} 

또 다른 가능성은 당신이 테스트에 의존하지 않으려는 경우 실제로 그 버튼을 다른 이름을 제공하는 것입니다 버튼의 값 : 다음

<input type="submit" name="refresh1" value="transfer1"/><br /> 
<input type="submit" name="refresh2" value="transfer2"/><br /> 
<input type="submit" name="refresh3" value="transfer3"/><br /> 

과 :

public ActionResult Refresh() 
{ 
    if (!string.IsNullOrEmpty(Request["refresh1"])) 
    { 
     // Button 1 was clicked ... 
    } 
    else if (!string.IsNullOrEmpty(Request["refresh2"])) 
    { 
     // Button 2 was clicked ... 
    } 
    else if (!string.IsNullOrEmpty(Request["refresh3"])) 
    { 
     // Button 3 was clicked ... 
    } 
    ... 
}