【发布时间】:2013-07-10 14:08:17
【问题描述】:
我正在使用 HotTowel 模板构建一个 mvc 应用程序(你知道,durandal、knout、breeze 等)。该应用程序尚未准备好,但我们正在取得良好进展:)。 在一个功能的中间,我需要构建一个对 javascript 函数的动态调用。 使用硬编码值的调用类似于:
<a href="#" id="openreport"
onclick="showReport('@Url.Action("Index","Report", new { Id= 9, languageId = 2})');">Show
report</a>
上面的调用工作正常。当我尝试使用 knockoutjs 将 onclick 事件绑定到字符串属性时,我的麻烦就开始了。像这样:
<a href="#" id="openReport" data-bind="onclick: $root.reportUrl()" >
Show report
在哪里报告 url 它是一个可观察的变量。这里是打字稿代码:
export var reportUrl =<any> ko.observable();
export var expandRow = function (myObjectComeFromATable) {
var urlAction = '@Url.Action("Index", "Report", new { Id= ID_TO_REPLACE, languageId = LANG_TO_REPLACE }) ';
var url = "showReport('"+urlAction+"');";
reportUrl(url);
};
更新 使用引号很好。淘汰变量的值与之前显示的硬代码值相同。也许是我的 sintaxis 布局有问题?
【问题讨论】:
标签: javascript asp.net-mvc knockout.js hottowel