我正在尝试混合使用ASP.NET、MVC、Razor和Knockout语法,如下所示:
<a data-bind="text: CityName, attr: { href: /search/ + 'CityName' + '/@CurrentCategory}">
</a>
其中CityName
是挖掘型属性,@CurrentCategory
是asp.net mvc属性。
Visual Studio给我一个关于语法的错误。
有可能这样做吗?
发布于 2017-03-01 10:06:22
改用下面的代码:
<a data-bind="text: CityName, attr: { href: '/search/' + CityName + '/@CurrentCategory' }">
</a>
您需要用'
s括起字符串的静态或原义部分,而不是变量或动态部分。
还要确保在Razor插入的任何片段中对任何'
进行转义。为了实现它,可以重写上面的代码:
<a data-bind="text: CityName, attr: { href: '/search/' + CityName + '/@CurrentCategory.Replace("'", "''")' }">
</a>
发布于 2017-03-16 08:48:14
我们需要知道错误,以便能够准确地帮助您,同时您可以尝试使用计算的可观察值,因此在您的敲出控制器中创建:
self.Url = ko.computed(function(){
return '/search/' + self.CityName() + '/@CurrentCategory';
});
https://stackoverflow.com/questions/42518750
复制相似问题