2016-06-21 5 views
0

안녕하세요? 나는 현재 MVC, C#을, SQL 함께 일하고 내가이 일을하고있다 : 을 나는이 같은 뷰 모델이 있습니다viewmodel을 사용하여보기의 이미지보기

public class htmlviewmodel 
{ 
    public string Color { get; set; } 
    public string body { get; set; } 
    public string style { get; set; } 
} 

과 나는 이미지의 URL을 얻을 내보기에 이미지를 표시하는 것을 시도하고있다 URL이

entity db = new myentity(); 
    var html = new htmlviewmodel(); 
    html.body="<img src=&quot;"+db.getmyimageurl().tostring()+";&quot; > "; 

내보기는 다음과 같이 될 것입니다 내 데이터베이스에서 온다 :

<div> my image: @Model.html.body </div> 

하지만 이미지를 보여 doesnot, 대신 문자열을 보여줍니다 like

<img src=&quot;imageUrlNotworking....//...;&quot; > " 

내가 잘못하고있는 것이 있습니까? 어떻게 해결할 수 있습니까? 감사!

답변

0

귀하 대신 &quot; 당신이 \" 또는 ' (단일 quot)를 사용할 수 있습니다, 처음에 ; 필요하지 않습니다 ;&quot;초.

<div> my image: @Html.Raw(System.Web.HttpUtility.HtmlDecode(Model.html.body)) </div> 

또는 다음과 같이 HtmlString에 문자열을 변환 : 당신이 데이터베이스에서 이미지 URL의 저장 등을 저장하는 경우

@{ var htmlBody= new HtmlString(System.Web.HttpUtility.HtmlDecode(Model.html.body));} 
<div> my image: @htmlBody </div> 
+0

감사합니다. 그것은 일했다! 한 번 더 질문, 내 데이터베이스에서 HTML을 전달하려면 어떨까요? 예를 들어, 테이블? 어떻게 진행해야합니까? –

+0

@EbaneoVk, HTML을 데이터베이스에 저장하려면 HtmlEncode 메서드를 사용하여 HTML을 먼저 인코딩하고 HtmlDecode 및 Html.Raw 메서드를 사용하여 뷰에 표시하십시오. – hsh

0

당신이 HTML을 디코딩해야 후 먼저 당신의 HTML을 렌더링하는 Html.Raw 방법을 사용 "c : \ picture.png" 하지만 실제로는 "c : /picture.png"가 필요합니다. 그래서 '\'를 '/'로 변환하십시오. 나는 이전처럼 이것을 직면한다.

+0

안녕하세요, 내 URL은 인터넷에서 가져온 것입니다. http : // /www.example.com/myimage.png. –

+0

코드가 DB에서 온 것처럼 보입니다. 코드를 디버그하십시오. –