UFO ET IT

ASP.NET MVC : Razor보기에서 컨트롤러 작업 메서드를 호출하는 가능한 모든 방법

ufoet 2020. 12. 25. 00:17
반응형

ASP.NET MVC : Razor보기에서 컨트롤러 작업 메서드를 호출하는 가능한 모든 방법


나는 이것이 여기에서 매우 기본적인 질문이라는 것을 알고 있습니다.

그러나 당신은 저에게 말할 수있는 모든 가능한 옵션 , 사용할 수를
부르는 면도칼보기에서 제어 동작 방법 [일반적으로 모든 서버 측 루틴을] , 그리고
무엇에 시나리오를 각각 적용 최고 사용할 수 있습니다.

감사.


방법 1 : jQuery Ajax Get 호출 사용 ( 부분 페이지 업데이트 ).

데이터베이스에서 jSon 데이터를 검색해야하는 경우에 적합합니다.

컨트롤러의 행동 방식

[HttpGet]
public ActionResult Foo(string id)
{
    var person = Something.GetPersonByID(id);
    return Json(person, JsonRequestBehavior.AllowGet);
}

Jquery GET

function getPerson(id) {
    $.ajax({
        url: '@Url.Action("Foo", "SomeController")',
        type: 'GET',
        dataType: 'json',
        // we set cache: false because GET requests are often cached by browsers
        // IE is particularly aggressive in that respect
        cache: false,
        data: { id: id },
        success: function(person) {
            $('#FirstName').val(person.FirstName);
            $('#LastName').val(person.LastName);
        }
    });
}

사람 클래스

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

방법 2 : jQuery Ajax Post 호출 사용 ( 부분 페이지 업데이트 ).

데이터베이스에 부분 페이지 게시 데이터를 수행해야하는 경우에 적합합니다.

Post 메소드도 위와 동일 합니다. jquery 메소드 [HttpPost]와 마찬가지로 Action 메소드를 대체 하고 입력 post합니다.

자세한 내용은 여기에서 MVC 컨트롤러에 JSON 데이터 게시를 확인하십시오.

방법 3 : 양식 게시 시나리오로 ( 전체 페이지 업데이트 ).

데이터를 데이터베이스에 저장하거나 업데이트해야 할 때 적합합니다.

전망

@using (Html.BeginForm("SaveData","ControllerName", FormMethod.Post))
{        
    @Html.TextBoxFor(model => m.Text)

    <input type="submit" value="Save" />
}

조치 방법

[HttpPost]
public ActionResult SaveData(FormCollection form)
    {
        // Get movie to update
        return View();
   }

방법 4 : 양식 가져 오기 시나리오로 ( 전체 페이지 업데이트 ).

데이터베이스에서 데이터를 가져와야하는 경우에 적합

위와 같은 Get 메소드도 [HttpGet]Action 메소드와 FormMethod.GetView의 form 메소드를 대체 합니다 .

나는 이것이 당신에게 도움이되기를 바랍니다.

ReferenceURL : https://stackoverflow.com/questions/14049817/in-asp-net-mvc-all-possible-ways-to-call-controller-action-method-from-a-razor

반응형