5

我有一个运行良好的 Knockout attr 绑定:

<a data-bind="attr: { href: 'Action?destination=' + '@Model.Property' + '&entityId=' + Id }">Select</a>

但是,一旦将任何模型属性插入到 href 字符串中,Visual Studio 中突出显示的语法就会引发“未终止的字符串常量”错误。

我尝试过'@()' 和'@:',但似乎没有什么能让编辑满意。

4

2 回答 2

1

我有一个类似的问题,我想将控制器操作 URL(由UrlHelperRazor 视图的实例提供)传递给我的视图模型函数,以便稍后在 jQuery AJAX 调用中使用。

以下标记在浏览器中有效,但在 Visual Studio 中突出显示语法:

<button data-bind="click: function (data) { someFunction(data, '@Url.Action("SomeAction", "SomeController")') }">Action!</button>

可以通过将上面的内容更改为以下内容来抑制语法突出显示:

<button data-bind="@("click: function (data) { someFunction(data, '" + Url.Action("SomeAction", "SomeController") + "') }")">Action!</button>
于 2014-04-22T21:28:10.397 回答
-4

为什么不直接使用常规的 Html.ActionLink?

@Html.ActionLink("Action", "Select", new { destination = Model.Property, entityId = Model.Id });
于 2013-09-06T21:15:08.350 回答