我的 View 模型“IdOfInvitedSocialCompaigns”中有一个可观察数组,此属性包含 id 数组,我想创建这样的链接:
@Html.ActionLink("Compaign","Confirmation", new {socialbuzzCompaignId = id})
我如何使用 knockoutjs 建立这样的链接,这里是 viewmodel 的一部分:
function DashboardViewModel() {
var self = this;
self.IdOfInvitedSocialCompaigns = ko.observableArray([]);
}
最佳答案
如果转义正确,您也许可以将部分 Razor 生成的 URL 直接构建到绑定(bind)标记中,但这会很困惑。我可能会在 DashboardViewModel 上定义一个基本 URL 属性,它会被 DOM 上的页面填充,就像这样:
dashVM.urls.confirmCampaignUrl = '@(Url.Action("Campaign", "Confirmation"))';
然后有一个获取特定 URL 的函数:
self.getCampaignConfirmationUrl = function(id) {
return self.urls.confirmCampaignUrl + '/' + id;
};
像这样绑定(bind):
<!-- ko foreach: IdOfInvitedSocialCompaigns -->
<a data-bind="attr: { href: dashVM.getCampaignConfirmationUrl($data) }">Confirm</a>
<!-- /ko -->
关于asp.net-mvc-3 - 使用 knockoutjs 创建链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11605055/