asp.net-mvc - asp net mvc controller model binding




ASP.NET MVC에서 부분 뷰에 매개 변수를 전달하는 방법은 무엇입니까? (4)

이 부분보기가 있다고 가정합니다.

Your name is <strong>@firstName @lastName</strong>

이는 다음과 같은 아동 전용 조치를 통해 액세스 할 수 있습니다.

[ChildActionOnly]
public ActionResult FullName(string firstName, string lastName)
{

}

그리고이 부분 뷰를 다른 뷰 내부에서 다음과 같이 사용하고 싶습니다.

@Html.RenderPartial("FullName")

즉, firstName ans lastName을 뷰에서 부분 뷰로 전달할 수 있어야합니다. 어떻게해야합니까?


ViewData를 사용하려면 다음과 같이하십시오.

@Html.Partial("~/PathToYourView.cshtml", null, new ViewDataDictionary { { "VariableName", "some value" } })

그리고 전달 된 값을 검색하려면 :

@{
    string valuePassedIn = this.ViewData.ContainsKey("VariableName") ? this.ViewData["VariableName"].ToString() : string.Empty;
}

다만:

@Html.Partial("PartialName", Model);

다음은 dotnet 1.0.1 에 대한 저의 연구입니다 :

./ourView.cshtml

@Html.Partial(
  "_ourPartial.cshtml",
  new ViewDataDictionary(this.Vi‌​ewData) {
    {
      "hi", "hello" 
    } 
  }
);

./_ourPartial.cshtml

<h1>@this.ViewData["hi"]</h1>

뷰 모델을 만들어야합니다. 이것처럼 뭔가해야 해 ...

public class FullNameViewModel
{
     public string FirstName { get; set; }
     public string LastName { get; set; }

     public FullNameViewModel() { } 

     public FullNameViewModel(string firstName, string lastName)
     {
          this.FirstName = firstName;
          this.LastName = lastName;
     }

}

그런 다음 액션 결과에서 모델을 전달합니다.

return View("FullName", new FullNameViewModel("John", "Doe"));

@Model.LastName 따라 @Model.FirstName@Model.LastName 에 액세스 할 수 있습니다.





partial-views