使用ASP.NET MVC Razor Helper进行淘汰赛

时间:2012-02-03 16:58:52

标签: asp.net-mvc knockout.js

我有一个Razor Helper可以渲染一些标记。 Razor Helper渲染一个div,它需要的ID等于其伴随的ViewModel的ID。

我的问题是需要在Knockout foreach循环中调用此辅助方法。对于集合中的每个项目,我需要渲染上面提到的Razor Helper。我怎样才能为集合中的每个项目执行此操作(并使用正确的ID传递ViewModel)?我是使用Ajax或iframe的唯一选择吗?

2 个答案:

答案 0 :(得分:1)

你不能用Razor助手来做,因为你的淘汰代码(客户端)将在你的View渲染(服务器端)之后执行。当然,你可以在脚本块中为razor helper添加一些内联调用,它会按预期工作,但是当浏览器文档准备就绪时,将在客户端执行knockout的模板引擎。 所以,在你的情况下 - 只有ajax。

答案 1 :(得分:0)

你可以使用Razor帮助渲染一个Knockout Template,它将被绑定到你的淘汰赛中的每个项目。

您可以使用Knockout的attr绑定

来获取您的div id

我没有尝试过这个,但我不明白为什么它不起作用。