一种观点,两种选择

时间:2011-05-01 08:21:38

标签: asp.net-mvc view

我正在建立一个论坛,我有一个问题页面(提出所有问题)。

进入问题详情页面我为每个问题都有一个编辑问题链接,我还有一个编辑回答链接,用于所有答案。

它们之间的区别在于,当我点击编辑时我希望在文本框中显示我的标题,但是当我点击编辑答案时,我希望在标签中标题。

最佳做法是什么:使用两个模型视图构建不同的视图或在一个视图中执行它?

2 个答案:

答案 0 :(得分:2)

MVC的一般指南不是业务逻辑。这听起来像是商业逻辑。

当然,如果大多数观点都是常见的,可以将它们分解为部分,它们都会使用。

答案 1 :(得分:0)

这可能不是最好的做法,但可能是一个很好的解决方案:

型号:

public partial class QuestionAnswer
{
    public string Question { get; set; }
    public string Answer { get; set; }
    public string DisabledQuestion { get; set; }
}

控制器:

public ActionResult EditQuestion()
{
    DisabledQuestioon = true;
    return View("QuestionAnswer");
}

public ActionResult EditAnswer()
{
    DisabledQuestioon = false;
    return View("QuestionAnswer");
}

查看:

@Html.TextBoxFor(model => model.Question, new { (model.DisabledQuestion ? @readonly = "readonly" : null) })
@Html.TextBoxFor(model => model.Answer)