当数据库中的数据不可用时,MVC 放置值的正确方法是什么?

我正在开发一个示例代码,我想以适当的方式使用 100% MVC 技术。


我有一个视图从数据库中请求数据,如果数据存在,则显示它,否则它会显示一些其他值:


风景:


<table>

        <tr>

            <td>Status: </td>

            <td>

                <input type="text" name="txtStatus" value="@Model.StatusChoice.FirstOrDefault().CurrentStatus" />

            </td>

        </tr>

</table>

控制器:


public ActionResult RStatusC(string CurrentStatus)

{

    return View(UpdateMainGrid(CurrentStatus));

}


public DataList UpdateMainGrid(string CurrentStatus)

{

    StatusModel Choices = new StatusModel();

    Choices.GetStatus(DB, CurrentStatus);

    return Choices;

}

该模型:


public List<RequestedStatusC> GetStatus(DB_Entities DB, string CurrentStatus)

{            

    List<RequestedStatusC> SR = new List<RequestedStatusC>();

    SR = DB.Database.SqlQuery<RequestedStatusC>(@"SELECT CurrentStatus

                                                    FROM MyTable

                                                    WHERE CurrentStatus = {0}

                                                    ORDER BY StatusKey", CurrentStatus).ToList();

    if (!SR.Any()) SR.Add(new RequestedStatusC { CurrentStatus = (CurrentStatus == "" ? "Missing" : CurrentStatus) });

    return SR;

}

这是正确的方法吗?特别是if (!SR.Any())在模型中使用?


至尊宝的传说
浏览 134回答 2
2回答

手掌心

删除模型中的 if 条件,在视图中添加 if 条件@if (Model.StatusChoice != null){<table>...</table>}
打开App,查看更多内容
随时随地看视频慕课网APP