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.Get
View의 form 메소드를 대체 합니다 .
나는 이것이 당신에게 도움이되기를 바랍니다.
ReferenceURL : https://stackoverflow.com/questions/14049817/in-asp-net-mvc-all-possible-ways-to-call-controller-action-method-from-a-razor
'UFO ET IT' 카테고리의 다른 글
얼마나 자주 리팩토링해야합니까? (0) | 2020.12.26 |
---|---|
인스트루먼트 할당은 사용자 정의 클래스의 객체 할당 및 할당 해제를 추적합니다. (0) | 2020.12.26 |
std :: chrono를 사용하여 C ++에서 날짜 및 시간 출력 (0) | 2020.12.25 |
Python Selenium을 사용하여 텍스트 상자 (입력)에서 값을 찾아 삽입하는 방법은 무엇입니까? (0) | 2020.12.25 |
C # 6 (Roslyn CTP6)에서 문자열 보간을위한 로캘 지정 (0) | 2020.12.25 |