我在razor代码中的render partial中遇到错误,意外" {"在" @"字符。一旦进入代码块(@if {},@ {}等),你就不需要使用" @ {"切换到代码。
@if (Model.Count() > 0)
{
<div id="mReserveForTodayPartial">
@{Html.Partial("UpdateReserveForToday.mobile");}
</div>
}
请帮助..!
答案 0 :(得分:2)
Html.Partial()
返回MvcHtmlString
所以你必须这样做:
@Html.Partial("UpdateReserveForToday")
在Html.RenderPartial()
的情况下,它写入输出流,这就是为什么它的返回类型是void
,所以当使用Html.RenderPartial()
时你必须这样做:
@{
Html.RenderPartial("UpdateReserveForToday");
}
答案 1 :(得分:0)
试试这段代码:
@{ List<SelectListItem> listItems = new List<SelectListItem>();
foreach (var item in ViewData["Subcategory"] as IEnumerable<ApplicationOneStoreForEstore.Models.tblsubcategory>) {
listItems.Add(new SelectListItem {
Text = item.subcategory_name,
Value = Convert.ToString(item.subcategory_id)
});
}
}
如果必须绑定DropDownList,则必须将此代码放在Html.BeginForm(..)
之前答案 2 :(得分:0)
下面的代码可以解决此问题。
@if (Model.Count() > 0)
{
<div id="mReserveForTodayPartial">
Html.Partial("UpdateReserveForToday.mobile");
</div>
}
由于Razor视图引擎可以解析代码,如果语句在&#34; @ {}&#34;中可用,那么在您的代码&#34; @ {}&#34;出现在&#34;如果&#34;声明所以不需要再次指定。