3 回答

TA贡献1813条经验 获得超2个赞
您的代码对我来说工作正常。
不过,这里有一种更简洁的写法。看看它是否对你有用:
<p>
@if (course.Description.Length > 100)
{
@course.Description.Substring(0, 100) @:"..."
}
else
{
@course.Description
}
</p>
如果您仍然遇到问题,那么您的 Razor 页面中的周围代码可能有其他问题,或者您的项目没有引用正确的程序集?尝试在一个新的空白 ASP.NET 项目中运行相同的代码。

TA贡献1906条经验 获得超10个赞
我认为您的 if 语句中的“课程”缺少“@”。尝试:
<p>
@{
if(@course.Description.Length > 100)
{
@course.Description.Substring(0, 100) @:"..."
}
else
{
@course.Description;
}
}
</p>

TA贡献1818条经验 获得超8个赞
无法决定何时异常使用,例如,如果我这样使用它
@functions{
public IHtmlContent RenderSubButton(ButtonModel button)
{
var @appIcn = "blabla";
return @Html.Raw(@"<a href='@Url.Action(" + button.Action + ", " + button.Controller + ", " + button.RouteValues + ")' class='" + button.Class + "' " + button.Binding.ToDataAttributes() + ">"
+ button.Text
+ @appIcn + "</a>");
}
}
appIcon 将不起作用,但如果我使用
@functions{
public IHtmlContent RenderSubButton(ButtonModel button)
{
var @appIcn = "blabla";
return @Html.Raw(@"<a href='@Url.Action(" + button.Action + ", " + button.Controller + ", " + button.RouteValues + ")' class='" + button.Class + "' " + button.Binding.ToDataAttributes() + ">"
+ button.Text
+ appIcn + "</a>");
}
}
然后它会工作。区别在于 appIcn 前面有 @this,不需要它
- 3 回答
- 0 关注
- 108 浏览
添加回答
举报