WebAPI Knockout JS图像绑定

时间:2016-04-26 11:56:51

标签: asp.net-web-api knockout-3.0

我正在使用Knockoutjs来呈现用户个人资料页面。我正在调用一个Web API服务,该服务返回用户详细信息及其配置文件图片。

var MessageFrom = {
        FromUserProfileId: self.FromUserProfileId,
        FromUserName: self.FromUserName,
        FromUserPictURL: self.FromUserPictURL
    }




<div id="comments" class="comments" data-bind="with: viewModel">
                    <div class="comment clearfix" data-bind="foreach: Messages">
                        <div class="comment-avatar">
                            <img class="img-circle" data-bind="attr:{'src': FromUserPictURL}" alt="avatar">
                        </div>
                        <header>
                            <h3 data-bind="text: FromUserName"></h3>
                            <div class="comment-meta"><p data-bind="text: moment(DatePosted).format('LLL')"></p> </div>
                        </header>
                        <div class="comment-content">
                            <div class="comment-body clearfix">
                                <p data-bind="text: MessageBody"></p>
                            </div>
                        </div>
                    </div>
                </div>

从WebAPI返回的图像的URL是相对URL,如〜/ Content / Member / Image1.jpg。虽然它与图片网址的绑定显示为&#34; http://sitename.com/profile/~/Content/Member/Image1.jpg&#34;。

一切都很好接受个人资料图片

我需要在绑定上工作,因为我无法更改来自数据库的路径。

感谢您的建议。

此致

1 个答案:

答案 0 :(得分:0)

你的绑定看起来没问题。对于初学者,我会使用您的IE或Chrome开发人员工具(F12)并手动更改图像的src,以找出适合您的内容。

你说你接受了这个:〜/ Content / Member / Image1.jpg

将src设置为:/Content/Member/Image1.jpg

一旦你确定需要什么,就可以像这样更改你的消息对象,但我认为这应该足够了:

var MessageFrom = {
        FromUserProfileId: self.FromUserProfileId,
        FromUserName: self.FromUserName,
        FromUserPictURL: self.FromUserPictURL.replace('~','')
    }