2014-05-09 45 views
-2

我正在尝试创建一个定位某个页面的锚定标记,其中包含MVC和Knockout。创建具有多个属性的锚定标记

问题是:如果我有多个属性,我应该如何写这个?

我是想这样的事情:

{ 
    var hrefAttribute = Url.Action("Index", "Home"); 
    var attr1= "?attr1="; 
    var attr1= "&attr2="; 
} 

和一个视图:

<a data-bind="attr:{'href':'@hrefAttribute @attr1'+ id()}"> 
    Edit Having two attributes 
</a> 

id突出部分是一个可观察我的MVV模型。

如果我只有一个属性,那么这样的东西就可以工作,但如果我有两个属性呢?

+0

将这些属性来改变上客户端被MVC渲染后? – PatrickSteele

+0

不,他们不是,但我正在建一张桌子,这张桌子有属性会改变,还有一个定位标记,要删除这一行等...没有knockoutjs,它会很容易处理。 – Bafla13

+1

如果没有淘汰赛会更容易,为什么要使用淘汰赛? – PatrickSteele

回答

1

knockout documentation for the attr binding显示了将多个属性绑定到元素的示例。实际上,它显示了一个锚标签并设置了hreftitle属性。

<a data-bind="attr: { href: url, title: details }"> 
    Report 
</a> 

<script type="text/javascript"> 
    var viewModel = { 
     url: ko.observable("year-end.html"), 
     details: ko.observable("Report including final year-end statistics") 
    }; 
</script> 

如果数据来自服务器,初始化用剃刀与来自服务器的数据视图模型(或者你使用任何视图引擎):

url: ko.observable('@hrefAttribute') 
+0

是的,我认为这将是最简单的解决方案,我会为html文档添加一个隐藏的输入,包含目标的锚点。 初始化视图模型时,我会选择隐藏的输入,并添加所有需要的属性;) – Bafla13