我試圖混合ASP.NET MVC剃刀和淘汰賽的語法如下:混合剃刀和淘汰賽語法數據綁定
<a data-bind="text: CityName, attr: { href: /search/ + 'CityName' + '/@CurrentCategory}">
</a>
凡CityName
是淘汰賽性質和@CurrentCategory
是一個asp.net mvc的財產。
Visual Studio給我一個關於語法的錯誤。
有沒有可能這樣做?
我試圖混合ASP.NET MVC剃刀和淘汰賽的語法如下:混合剃刀和淘汰賽語法數據綁定
<a data-bind="text: CityName, attr: { href: /search/ + 'CityName' + '/@CurrentCategory}">
</a>
凡CityName
是淘汰賽性質和@CurrentCategory
是一個asp.net mvc的財產。
Visual Studio給我一個關於語法的錯誤。
有沒有可能這樣做?
使用這個代替:
<a data-bind="text: CityName, attr: { href: '/search/' + CityName + '/@CurrentCategory' }">
</a>
您需要'
S和不變量,或動態部分將字符串括起來的靜態或文字部分。
此外,請確保您在Razor插入的任何片段中轉義任何'
s。以上可以爲了改寫爲實現它是這樣:
<a data-bind="text: CityName, attr: { href: '/search/' + CityName + '/@CurrentCategory.Replace("'", "''")' }">
</a>
我們需要知道的錯誤能夠幫助您準確 同時,你可以嘗試在淘汰賽控制器使用計算觀察到的,所以創建:
self.Url = ko.computed(function(){
return '/search/' + self.CityName() + '/@CurrentCategory';
});
您能澄清一下您期望的HTML結果嗎? –
您需要提供有關該錯誤的更多信息才能解決問題。您可以將剃鬚刀與任何客戶端腳本混合使用,以確保您正確地轉義它。我使用的一種模式是@ Html.Raw()。試試看看會發生什麼。 –