2011-12-02 6 views
1

계좌 소유자를 선택한 후 선택한 계좌 소유자의 속성으로 나의 주문 생성보기를 미리 채우고 싶습니다. 지금까지사전 채우기 작성보기

내 컨트롤러 액션 :

[HttpPost] 
    public ActionResult Create(FormCollection values) 
    { 
     var accountHolder = from a in unitOfWork.AccountHolderRepository.Get(includeProperties: "AccountHolder") 
          where a.CustSName == values["Name"] 
          select a; 

     foreach (var a in accountHolder) 
     { 
      ViewBag.CustFName = a.CustFName; 
      ViewBag.CustSName = values["Name"]; 
      ViewBag.CustPhone = a.CustPhone; 
      ViewBag.CustEmail = a.CustEmail; 
     } 

     return RedirectToAction("Create", "Order"); 
    } 

답변

0

난 당신이 여기에 달성하기 위해 노력하고 제대로 이해하면 확실하지. 나는 있으리라 믿고있어 :

  1. 만들기
  2. 사용자가 계좌주의 가치를 (? 자동 발생 제출)
  3. 당신은 데이터베이스
  4. 에 값을 보존하기 위해 미리 채워진 형태를
  5. 최종 생성 단계를 반환 제공하는 양식을 빈 표시

맞습니까? 당신이 당신의 생성 형태로 사용하고있는 모델/뷰 모델의 인스턴스 그렇다면

는 (? 당신은 강력한 형식의 뷰 권리를 사용하는)과 같은 반환 :

경우에만 발생해야하지만
return View(yourobject); //Assuming the first view returned by GET request to Create action has all the properties in place 

값이 누락되었습니다. 컨트롤러에 로직을 추가하여 pre-popullation 또는 db.Save()가 필요한지 확인할 수 있습니다.

0

OrderController에 RedirectToAction을 호출하면 accountholderController의 Create 메서드에 있다고 가정합니다.

정확히 무엇입니까? 구체적인 내용이 없으면 많은 도움을 줄 수는 없습니다. 하지만

일부 노트 :

시도가 데이터베이스가 아닌 이름의 ID를 기반으로의 계좌를 검색합니다. 최종 사용자가 데이터베이스에 입력 된 것과 똑같이 계좌 소유자 이름을 입력하는 것을 신뢰하고 있습니다 (같은 경우, 같은 구두점). 신분증은보다 정확하고 올바른 결과를 얻기 위해 노력이 덜 필요합니다.

목록에서 계정 소유자를 선택한 다음 만들기보기를 열려면 사후 작성 방법을 사용해야하는 이유는 무엇입니까? 기본 페이지의 모든 계정 소유자 (또는 원하는 곳)에 드롭 다운 목록을 포함하는 것이 현명합니다.

<select name="accountholderID"> 
    <option value:"ID_of_accountholder">Name_of_accountholder</option> 
    ... 
</select> 

그 옆에 버튼을 추가하십시오. 계좌 소유자가 선택되고 버튼이 클릭되면 OrderController에서 (Get, not Post) Create 메소드를 호출하십시오. accountholderID를 매개 변수로 전달하십시오. 귀하의 작성 methoud는해야 뭔가 같은 :

public ActionResult Create(string accountholderID) 
{ 
    int ID = Convert.ToInt32(accountholderID); 

    ViewData["Accountholder"] = database.tbl_Accountholders.SingleorDefault(x=> x.Id == ID); 

    ... 

와의

보기가 너무처럼 계좌주의의 값에 액세스 만들기 :

<% var accountholder = (accountholdertype)ViewData["Accountholder"]; %> 

<span> Name is <%: accountholder.Name %> </span> 

당신이 원하는 곳이 당신을 얻을해야한다고 생각 -)