2010-04-29 8 views
2

저는 웹 개발에 익숙하지 않고 MVC 프로젝트부터 시작합니다. 새 서비스를 만들 수있는 권한이 있습니다. 이보기에서 클라이언트 이름이있는 대화 상자를 표시하는 버튼이 있어야합니다 (이 대화 상자에서 필터와 페이징을 구현하고 싶습니다). 사용자가 대화 상자에서 클라이언트를 선택하면 특정 클라이언트와 관련된 정보가 포함 된 서비스보기의 콤보 상자를 채워야합니다. 어떻게해야합니까? 어떤 데모 코드 나 튜토리얼이 있다면 이것을 배우기 위해 손을 댈 수 있을까요?MVC LOB 응용 프로그램

미리 감사드립니다.

답변

2

와우, 하나의 질문에 답을 많이해야합니다.

NerdDinner 샘플을 통해 먼저 MVC 프레임 워크에 익숙해 져야한다고 생각합니다.

그 후 jQuery가 귀하의 친구가됩니다. 기본적으로 jQuery 호출로 대화 상자를 만들고 컨트롤러에 jQuery Ajax 호출을 사용하여 데이터를 가져오고 필터링 할 수 있습니다.

jQuery를위한 좋은 참고가 jQuery.com

에서
0

(게시물이 너무 길기 때문에 내가 당신의 대답에 대해 언급 할 수 없습니다 griegs)

내가 지금 성경으로 선식 급강하 여행을 사용하고 있습니다.

분명히 분명히 할 수 있을지 의심 스럽습니다.

편집보기

클라이언트 부분보기 세부

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<EyePeak.ViewModel.Service.EditServiceViewModel>" %> 
    <% if(Model.SelectedClient != null) { %> 
    <tr> 
     <%Html.LabelFor(model => model.SelectedClient.Name);%> 
     <%= Html.DropDownList("clientAddresses", Model.SelectedClient.Addresses.Select(i => new SelectListItem { Value = i.Id.ToString(), Text = i.Name}))%> 
    </tr> 
<% } %> 

CONTROLER :

(...)

public ActionResult New() 
    { 
     var service = new EyePeak.Data.Model.Service(); 

     return View("Edit", this.GetEditViewModel(service)); 
    } 

(...)

 public ActionResult SearchClientAddresses(string clientID) 
    { 
     var selectedClient = this._clientService.GetClient(Convert.ToInt32(clientID)); 

     var model = new EditServiceViewModel 
     { 
      SelectedClient=selectedClient 
     }; 

     return PartialView("clientDetails", model); 
    } 

jQuery를 :

Sys.Application.add_load(

function() 
{ 
    $("#clientId").bind("change", showClientInfo); 
} 
); 

function showClientInfo() 
{ 
    var id = $("#clientId").val(); 

    $("#clientSearch .results table").fadeOut(); 
    $("#clientSearch .results").slideUp("medium", function() { 
     $.ajax(
       { 
        type: "GET", 
        url: "/Service/SearchClientAddresses", 
        data: "clientID=" + escape(id), 
        dataType: "html", 
        success: function(result) { 
         var dom = $(result); 
         $("#clientSearch .results").empty().append(dom).slideDown("medium"); 
        } 
       }); 
      }); 
} 

내 질문은 : 부분보기에 전달하는 난 단지 클라이언트 정보를 사용하여 새 EditServiceViewModel를 작성해야합니까? 현재 ViewModel을 업데이트하고 부분 뷰로 전달할 수 없습니까?

이 특정보기에서 길게 부분보기를 만들어야하므로 각각에 대한보기 모델을 만들어야합니까?

어쩌면 개념을 잘 이해하지 못했습니다.

다시 도움 주셔서 감사합니다.