【发布时间】:2014-05-23 22:17:35
【问题描述】:
我正在为一个使用 MVC 和 knockout.js 的 Web 应用程序创建一个表。我有做网络开发的经验,但这是我第一次使用淘汰赛。我目前有一个包含 3 列的表。使用显示数据的剔除函数填充第二个和第三个。除了使用图像而不是文本之外,我尝试以相同的方式设置第一列。我不断收到损坏的图像图标和浏览器控制台中的错误。
浏览器给我的错误: GET http://hostinfo/Sponsor/~PracticeAppImagesGWC.png 404(未找到)
这是我的桌子:
<table id="sponsorTable">
<thead><tr>
<th></th><th id="sponsor">Sponsor</th><th id="description">Description</th>
</tr></thead>
<!-- Todo: Generate table body -->
<tbody data-bind="foreach: Sponsors">
<tr>
<td><img data-bind="attr: {src: Image}" /></td>
<td class="sTableInfo" data-bind="text: Name"></td>
<td class="sTableInfo" data-bind="text: Description"></td>
</tr>
</tbody>
</table>
这是我填表的函数。 (第 2 列和第 3 列填写正确)
function pageModel() {
var self = this;
self.Sponsors = ko.observableArray([]);
}
function Sponsor( _image, _name, _descrip)
{
var self = this;
self.Image = ko.observable(_image);
self.Name = ko.observable(_name);
self.Description = ko.observable(_descrip);
}
var viewModel = new pageModel();
viewModel.Sponsors().push(new Sponsor("~/Images/GWC.png", "name1", "info1"));
viewModel.Sponsors().push(new Sponsor("second image would go here", "name2", "info2"));
$(function () {
ko.applyBindings(viewModel);
})
我认为有些东西正在逃避 img 源链接中的斜线,但我不确定,我不知道为什么。
更新:我的编译器告诉我这个图像标签:“验证(HTML5):元素'img'缺少必需的属性'src'。”
【问题讨论】:
-
tilda ~ 在这种情况下不可用,它只是服务器端
-
<img src="~/Images/TrueBlood.png" height="175" width="175" alt="Hammer True Blood" />我在另一个页面上使用了 tilda(例如这里),它工作得很好。 -
我认为您的服务器可以解释这一点。尝试在你的页面上做一个“查看源代码”,我想你会有完整的路径
-
我更新了问题.. 添加了一些我在底部发现的新信息。希望它有助于解决这个问题。我还是一头雾水。
标签: javascript html knockout.js