Ответ 1
Я использовал
return Content("");
и работает нормально.
В файле cshtml, на основе условия, какой лучший способ вернуть пустое частичное представление?
Сейчас у меня есть:
@if(Model.Count() > 0)
{
loooonng partial view block of markup code
}
Как я могу сделать это, чтобы выглядеть ближе к этому:
@if(Model.Count() == 0)
{
render an empty partial view
}
loooonng partial view block of markup code goes here <- This will obviously get executed only if Model.Count() > 0
Спасибо заранее!
Я использовал
return Content("");
и работает нормально.
Не уверен, что вам все еще нужен ответ, но я столкнулся с этой проблемой, и вот что я сделал в представлении:
@if(Model.Count() == 0)
{
return; // a simple return will stop execution of the rest of the View
}
На уровне контроллера я создал новый класс и вернул его в свое действие:
public class EmptyPartialViewResult : PartialViewResult
{
public override void ExecuteResult(ControllerContext context)
{
}
}
Если вы возвращаете PartialViewResult
, я обнаружил, что в контроллере вы можете использовать
return default(PartialViewResult);
или
return null;
без проблем. Единственное, что я могу подумать, это использовать
var partialView = Html.Action("Action", "Controller");
в вашем представлении, тогда вам нужно будет проверить значение null. Html.RenderAction
кажется, что это не проблема.
Используйте EmptyResult класс:
return new EmptyResult();