2013-06-18 3 views
0

응용 프로그램을 개발 중입니다. 뷰와 컨트롤러를 만들었습니다. 뷰에는 데이터베이스 작업을 수행해야하는 버튼이 있습니다. 모델에 데이터베이스 작업을 넣었습니다. 컨트롤러에 모델 개체를 만듭니다. 버튼을 클릭하면 컨트롤러의 메소드에 의해 액션이 처리되고 모델의 객체가 생성되어 데이터베이스에서 레코드를 가져옵니다. 뷰에이 데이터를 표시 할 방법이 있는지 알고 싶습니다. 접근법이 정확하거나 뷰가 모델과 직접 상호 작용하여 데이터를 가져 오는 것으로 가정합니다. 버튼을 호출됩니다 컨트롤러의 코드는 컨트롤러와 뷰간에 mvc 전달 데이터

public ActionResult getRecord() 
{ 
DataModel f_DM = new DataModel(); 
DataTable f_DT = f_DM.getRecord(); 

return View(); 
} 

DataModel이

단순히 방법 "getRecord"와 모델 클래스 클릭합니다 다음. 도움이 될 것입니다.

난 내가 VS2010 및 mvc4

감사

답변

0

네, 가능하지만, 실제로는 지금 매우 논리적 인 방법으로 이것에 사용하고 있음을 추가하고 싶습니다.

따라 가십시오. 당신은 단추가 있었는지, 당신은이 행동을 촉발시킬 몇몇보기가 있습니다. 당신의 getRecord 방법 trigget합니다

public ActionResult Index() 
{ 
return View(); 
} 

내부 당신이 아약스 링크를 가질 수 있습니다 볼 :

예를 들어

getRecord 방법에서

<div id="GetDataDiv"></div> 
<div> 
@Ajax.ActionLink("Get Record", "getRecord", "ControllerName", null, new AjaxOptions() { HttpMethod = "GET", UpdateTargetId = "GetDataDiv" }) 
</div> 

을, 당신은해야합니다

public ActionResult getRecord() 
{ 
DataModel f_DM = new DataModel(); 
DataTable f_DT = f_DM.getRecord(); 

return PartialView(f_DT); 
} 

보기에서보기 :

@model DataTable 

@Model.PropertyOne @Model.PropertyTwo 

잘 작동합니다. 실제 동일한 서면 주소 : http://www.dotnetpools.com/Article/ArticleDetiail/?articleId=151

1

컨트롤러에 데이터를 검색하는 로직을 작성해야합니다. 모든 데이터를 뷰 모델에 저장하고 뷰에 전달하십시오.

예 :

모델

namespace Mvc4App.Models 
{ 
    public class Product 
    { 
    public string Name { get; set; } 
    } 
    public class ProductViewModel 
    { 
    public Product Product { get; set; } 
    public string SalesPerson { get; set; } 
    } 
} 

컨트롤러

public class ProductController : Controller 
{ 
    public ActionResult Info() 
    { 
    ProductViewModel ProductViewModel = new ProductViewModel 
    { 
     Product = new Product { Name = "Toy" }, 
     SalesPerson = "Homer Simpson" 
    }; 
    return View(ProductViewModel); 
    } 
} 

보기

@model Mvc4App.Models.ProductViewModel 
@{ ViewBag.Title = "Info"; } 
<h2>Product: @Model.Product.Name</h2> 
<p>Sold by: @Model.SalesPerson</p> 

이 데이터를 전달하는 가장 잘 알려진 사례이다 컨트롤러에서보기로.

당신은

1. ViewData 
2. ViewBag 
3. TempData 
4. View Model Object 
5. Strongly-typed View Model Object 
+0

나는 위의 짓을하지만, 나는이 문제에 직면하고, 다른 기술도 같이 사용할 수 있습니다. 보기.chtml은 for 루프를 끝내고 데이터 테이블이 처음 비어있는 것처럼 실행됩니다. CLick 버튼을 클릭하지 않으면 데이터 표를 채우지 않습니다. 제발 제안 해 줄 수 있어요. – user1418667

+0

최신 코드로 질문을 업데이트하십시오, 문제를 해결하는 것이 더 도움이됩니다. –

관련 문제