asp.net-mvc-3 – 在“@”字符后面出现意外的“foreach”关键字
发布时间:2020-12-15 18:53:47 所属栏目:asp.Net 来源:网络整理
导读:我有一个局部视图在剃刀。当我运行它,我得到以下错误 – 似乎像Razor陷入思考我在写代码无处不在。 Unexpected “foreach” keyword after “@” character. Once inside code,you do not need to prefix constructs like “foreach” with “@” 这是我的
我有一个局部视图在剃刀。当我运行它,我得到以下错误 – 似乎像Razor陷入思考我在写代码无处不在。
这是我的观点: @model IEnumerable<SomeModel> <div> @using(Html.BeginForm("Update","UserManagement",FormMethod.Post)) { @Html.Hidden("UserId",ViewBag.UserId) @foreach(var link in Model) { if(link.Linked) { <input type="checkbox" name="userLinks" value="@link.Id" checked="checked" />@link.Description<br /> } else { <input type="checkbox" name="userLinks" value="@link.Id" />@link.Description<br /> } } } </div> 解决方法
在你的使用块,Razor期待C#源,而不是HTML。
因此,你应该写一个没有@的foreach。 在HTML标记中,Razor需要标记,因此您可以使用@。 例如: <div> <!-- Markup goes here --> @if (x) { //Code goes here if (y) { //More code goes here <div> <!-- Markup goes here --> @if (z) { } </div> } } </div> 你只需要一个@,如果你想把代码放在它期望的标记,或者如果你想在任何地方写输出。 要将非标记式标记放置在期望代码的位置,请使用@:或< text> ;. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net进程中长时间运行的代码
- asp.net – 如何使用foreach循环清除所有文本框?
- 在Asp.net中POST后清除表单
- asp.net-mvc – 无法加载类型’System.Web.Mvc.ViewMasterP
- asp.net – 值得学习经典ASP?
- mvc6与signalr的任何样品?
- 排序 – sortdir没有在MVC 3 WebGird中使用枚举数据类型
- asp.net-core – ASP.NET 5,希望将实体框架与Web Project分
- asp.net-mvc – 如何成功配置Common.Logging?
- asp.net mvc使用html5mode和路由托管角度应用程序
推荐文章
站长推荐
- asp.net-mvc-3 – mvc是否支持整个区域的Web.con
- ASP.net中的免费PDF查看器
- VS 2015预览缺少“ASP.NET 5 Web应用程序”项目类
- asp.net – 将mvc应用程序发布到Web服务器后无法
- asp.net-core – Namespace .AspNetCore.Hosting
- ASP.NET缓存的位置
- asp.net-mvc – 如何绑定从linq到sql asp.net mv
- asp.net-mvc – visual studio 2013“添加控制器
- 如何在ASP.NET中提供resx文件?
- asp.net – 尽管设置了FormsAuthenticationTicke
热点阅读