2010-04-29 41 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並將其傳遞給部分視圖?

我需要在這個特定視圖中沿途創建更多的局部視圖,所以我需要爲每個視圖創建一個視圖模型?

也許我沒有很好地理解這個概念。

再次感謝您的幫助。