문제

우리 팀이 클라이언트 사용자는 JavaScript를 활성화하도록 보장했습니다. 우리는 jQuery를 더 "철저히"사용할 수 있다는 것을 알고 있습니다. 우리의 시스템은 매우 크기 때문에 ASP.NET MVC 애플리케이션의 영역을 사용하더라도 영역의 하위 시스템 당 추가, 편집, 삭제 및보기에 대한 수많은 페이지가 실제로 매우 큽니다. 지역의 하위 시스템에는 약 20 개의 데이터 테이블이있을 수 있습니다. 20 개의 데이터 테이블이 있고 추가, 편집, 삭제 및 볼 수있는 개별 페이지가있는 경우 총이 있음을 의미합니다. 60 페이지. 이제 지역 당 20 개의 하위 시스템이 있다고 상상해 보면 단일 지역에는 20 * 60 페이지가 있으며 인트라넷에는 약 15 개의 영역이 있습니다. 당신은 요점을 얻습니다.

내 실제 요점으로 넘어 가면 페이지에 데이터 테이블이있는 jQuery 기능을 사용하여 "삭제"를 치고 확인 버튼이있는 삭제 대화를 제공하여 양식을 제출합니다. , 올바른 행동으로 리디렉션하고 나를 위해 일을하십시오. 이제 다음 영역에서 몇 가지 지침이 필요합니다.

  1. ASP.NET MVC를 사용하여 전혀 게시하지 않고 삭제하고 싶다면이 작업을 수행하는 프로세스는 무엇입니까? 여기에는 삭제에 치고 꺼지고 삭제할 수 있는지 확인한 다음 (FK 관계가 올바른 방식으로 처리되어야 함), 페이지를 새로 고치지 않고도보기에서 테이블에서 행을 제거 할 수있는 경우 포함됩니다.
  2. jQuery를 사용하여 비동기 프로세스에서 삭제 작업을 어떻게 호출합니까? 그렇게하는 것이 현명합니까? 보통 우리는 사용합니다 Html.ActionLink. 양식으로 포장해야합니까?
  3. 편집 및 업데이트도 마찬가지입니다. 다시 한번이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

나는 우아한 솔루션을 찾고 있으며, 내가해야 할 모든 페이지에 적용하기 어렵지 않은 것을 찾고 있습니다. 모든 입력은 대단히 감사 할 것입니다.

도움이 되었습니까?

해결책

Ajax Post (Postback 없음)를 통해 링크를 사용하여 링크를 발사하는 프로젝트를 진행하고 있습니다.

$("a.deleteLink").click(function(event)
{
    event.preventDefault();
    if (confirm("Are you sure you want to delete this section?"))
    {
        //TODO Display processing indicator

        var myId = /* id of element */ ;

        $.post("/Section/Delete", { id: myId }, function(data)
        {
            if (data == "Success")
            {
                //handle success
                //TODO Fade out element using .fadeOut()
            }
            else
            {
                //handle error
            }
        });
    }
});

컨트롤러 메소드는 단순히 /controllers/sectioncontroller.cs에 있습니다. 데이터베이스를 변경하는 조치와 같이 게시물 만 허용합니다.

    private SectionRepository secRepo = new SectionRepository();

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Delete(long id)
    {
        Section sec = secRepo.GetById(id);

        secRepo.Delete(sec);
        secRepo.Save();

        return Content("Success");
    }

다른 팁

Subsonic을 사용하여 ASP.NET MVC를 위해 얻을 수있는 일부 템플릿에 대한 비디오를 보았습니다. 나는 아직도 이것을 구현하지 않았거나 심지어 그것을 시도하지 않았지만, 그것은 믿어지지 않습니다! 구경하다 여기.


이것이 귀하의 경우 실현 가능한 옵션인지 확실하지 않지만 최근에 귀하와 비슷한 필요가 있었으며 ASP.NET MVC 응용 프로그램으로 기본 응용 프로그램을 출시합니다 (사용 JQGRID) 및 보조 ASP.NET 웹 양식은 동적 데이터를 사용하여 관리 기능에 대한 응용 프로그램을 양식합니다. 이것은 매우 잘 작동했으며 많은 시간을 절약했습니다.

그것은 또한 모양입니다 DynamicData 및 MVC 다음 릴리스 중 일부에서 함께 모일 것입니다.

기타 독서 ...
* 데이비드 헤이든
* RBQSOFT
* 날카로운 건축 위키

차드 마이어스가 있습니다 좋은 기사 이에.

또한 하나 Dino Esposito에서.

jQuery 대화를 파티에 던지고 싶다면 리카르도 코보 포스트 좋은 일을합니다

enter image description here

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top