我正在尝试升级我的项目以使用Razor。 我使用了Telerik转换工具https://github.com/telerik/razor-converter 将我的视图转换为Razor但我收到与Telerik Window控件相关的错误。
以下是窗口控件标记的示例:
@Html.Telerik().Window()
.Name("ClientWindow")
.Content(@<text>
<div id="Div1">
<div class="bgTop">
<label for="drpFilter">
Filter:</label>
@Html.DropDownListFor(x => x.ClientLookupViewModel.SelectedFilter, Model.ClientLookupViewModel.FilterBy, new { id = "drpClientFilter" })
<label>
By:</label>
@Html.TextBoxFor(x => x.ClientLookupViewModel.FilterValue, new { id = "filterValue" })
<button type="button" value=" " class="t-icon t-refresh refreshButton" title="Refresh Client & Matter"
onclick="refreshClientClicked()">
</button>
@Html.ValidationMessageFor(x => x.ClientLookupViewModel.FilterValue)
</div>
<iframe id="frameClientLookup" src="@Url.Action("ClientIndex","Lookup")" style="border: 0px;
height: 404px; width: 100%; margin: 0px; padding: 0px;"></iframe>
<div class="bgBottom">
<input style="float: right; margin-top: 5px" type="button" value="OK" id="Button1" onclick="btnClientOkayClicked()" /></div>
</div>
</text>)
.Modal(true)
.Width(800)
.Height(473)
.Title("Client Lookup")
.Buttons(buttons => buttons.Refresh().Maximize().Close())
.Visible(false)
.HtmlAttributes(new { id = "ClientWindow" })
.Render();
分析器错误 说明:解析为此请求提供服务所需的资源时发生错误。请查看以下特定的解析错误详细信息并适当修改源文件。
分析程序错误消息:“&lt;”在代码块的开头无效。只有标识符,关键字,评论,“(”和“{”才有效。
来源错误:
Line 41: @Html.Telerik().Window()
Line 42: .Name("ClientWindow")
Line 43: .Content(@<text>
Line 44:
Line 45: <div id="Div1">
-----------------------
有谁知道这里的问题是什么?
由于
答案 0 :(得分:3)
您应该像这样更改代码:
OLD:
@Html.Telerik().Window()
/* rest is omitted for brevity */
.Render();
NEW:
@ {
Html.Telerik().Window()
/* rest is omitted for brevity */
.Render();
}
答案 1 :(得分:0)
由于您在该代码块中有空格和换行符,因此需要将整个内容包装在括号中以强制Razor继续将其解析为换行符。