Asp.net mvc 4 MVC4不是';在视图中处理会话或查询字符串不是一个好的做法

Asp.net mvc 4 MVC4不是';在视图中处理会话或查询字符串不是一个好的做法,asp.net-mvc-4,Asp.net Mvc 4,大家好,我刚开始做MVC,这是我在cshtml页面中写的 @if (Request.QueryString["TechID"] != null) { int TechID = Convert.ToInt16(Request.QueryString["TechID"].ToString()); forumAPP.newForumDBEntities db = new forumAPP.newForumDBEntities(); var topic = from p in db.tblTechnol

大家好,我刚开始做
MVC
,这是我在
cshtml
页面中写的

@if (Request.QueryString["TechID"] != null)
{
int TechID = Convert.ToInt16(Request.QueryString["TechID"].ToString());
forumAPP.newForumDBEntities db = new forumAPP.newForumDBEntities();
var topic = from p in db.tblTechnologies where p.TechID == TechID select p.TechName;
string strText = "A forum where you can post questions regarding " + topic.FirstOrDefault().ToString(); ;
@Html.Label("Name", strText)
}

我只是想知道,编写一些代码(如处理会话)来显示一些示例内容(如
Username
或所需文本),而不是在
model

中编写视图中的db调用,这是否是一种好的做法。违反关注点分离。
Dave A
谢谢。是否可以使用
url绑定标签。操作
您不想混合使用这两种方法。最重要的原则是让观点尽可能被动。在视图之外执行尽可能多的处理。理想情况下在控制器中(有些人会说在模型中)。好的,我如何编写一个方法来动态绑定标签请动态解释。原则上,如果将填充的模型发送到视图,则可以使用displayfor(m=>m.{property})来显示传递的任何值。当我动态思考时,我认为在视图渲染后会发生一些事情(比如从下拉列表中选择)。但这将成为涉及Ajax的更复杂的主题。