我有一个Knockout attr绑定工作得非常好:
<a data-bind="attr: { href: 'Action?destination=' + '@Model.Property' + '&entityId=' + Id }">Select</a>
但是,一旦将任何模型属性插入到href字符串中,Visual Studio中的语法高亮显示会抛出“未终止字符串常量”错误。
我尝试过'@()'和'@:',但似乎没有什么能让编辑高兴。
答案 0 :(得分:1)
我有一个类似的问题,我希望将控制器操作URL(由Razor视图的UrlHelper
实例提供)传递给我的viewmodel函数,以便稍后在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>
答案 1 :(得分:-4)
为什么不使用常规的Html.ActionLink?
@Html.ActionLink("Action", "Select", new { destination = Model.Property, entityId = Model.Id });