asp.net-mvc-3 - 使用 knockoutjs 创建链接

标签 asp.net-mvc-3 knockout.js

我的 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/

相关文章:

javascript - 从 mapbox 隐藏子层名称链接,然后在单击其父层时使其可见

knockout.js - Knockoutjs - 对大型 observablearray 进行排序

javascript - Knockoutjs 计算传递参数

javascript - 在 jquery 发布后更新 div 显示而不重新加载 mvc3 中的页面

c# - 模型绑定(bind)到 ASP.NET MVC 3 中的枚举

c# - 从插件加载 View 而不将其作为资源嵌入到 nopCommerce 中

jquery - 将最后一个选项卡添加到可排序的选项卡式列表中

asp.net-mvc - Razor _Layout.cshtml 来自特定 Controller 的公共(public)部分

javascript - 单击图像上的工具提示

knockout.js - knockoutjs - Ajax 表单提交并在成功回调中更新 viewModel