asp.net-mvc dygraph - Html.Label 지정된 텍스트




fill range (7)

v2를 아직 다운로드하지 않았으므로 테스트 할 수는 없지만 DynamicData처럼 작동한다고 생각합니다.이 경우 모델에서 다음과 같이 할 수 있습니다.

[Display(Name = "The Super Fantastic Field")]
public string MyField {get;set;}

누구든지 Html.LabelFor(c=>c.MyField) 사용할 때 텍스트를 지정하는 방법에 대한 아이디어를 얻었습니다. 단지 MyField 가 화면에 표시 할 적절한 이름이 아니기 때문에 "Super Fantastic Field"가 필요할 수도 있지만 과부하가없는 것 같습니다.

어떤 아이디어?


쉬운 솔루션은보기에 다음을 추가하기 만하면됩니다.

@Html.LabelFor(c=>c.MyField, "My Field")

MVC 3에는 새로운 과부하가있어서 labelfor 도우미에 대한 맞춤 테스트를 할 수 있어야합니다.



두 가지 방법이 있습니다.
1 개의 "직접 주석"
2 "Annotatinos와 자원"
직접 주석

[Display(Name = "My Field")]
public string MyField { get; set; }

자원이있는 Annotatinos

[Display(Name = "My_Field",ResourceType = typeof(Resource))]
public string MyField { get; set; }

두 번째 방법은 Resource.resx 라는 이름의 리소스 파일에 값을 추가해야합니다.
용도에 맞게 사용하십시오.


5 가지 과부하가 있습니다. 몇몇은 "Super Fantastic Field"로 설정할 "문자열 레이블 텍스트"의 두 번째 매개 변수를 제공합니다.


해결 방법 1 : 이미지 URL의 뷰에서 이미지 렌더링

나만의 확장 방법을 만들 수 있습니다.

public static MvcHtmlString Image(this HtmlHelper helper,string imageUrl)
{
   string tag = "<img src='{0}'/>";
   tag = string.Format(tag,imageUrl);
   return MvcHtmlString.Create(tag);
}

다음과 같이 사용하십시오.

@Html.Image(@Model.ImagePath);

해결 방법 2 : 데이터베이스에서 이미지 렌더링

아래처럼 이미지 데이터를 반환하는 컨트롤러 메서드를 만듭니다.

public sealed class ImageController : Controller
{
  public ActionResult View(string id)
  {
    var image = _images.LoadImage(id); //Pull image from the database.
    if (image == null) 
      return HttpNotFound();
    return File(image.Data, image.Mime);
  }
}

다음과 같은보기에서 사용하십시오.

@ { Html.RenderAction("View","Image",new {[email protected]})}

이 actionresult에서 렌더링 된 이미지를 HTML에서 사용하려면

<img src="http://something.com/image/view?id={imageid}>




asp.net-mvc asp.net-mvc-2