我是MVC的新成員,長時間在WebForms中開發,我正在遵循在線課程將現有WebForms項目更新爲MVC項目。大多數事情都沒有阻礙,但我發現我的課程中有一件事情我無法理解。在MVC中的頁面中聲明「var」
在我的課程演示執行以下操作:
CreateEdit.cshtml:
<label>Description</label>
@Html.TextAreaFor(x => x.Desc)
</div>
var list = new List<SelectListItem>()
{
new SelectListItem() { Text="Look at me", Value="1" }
}
<div>
@Html.DropDownListFor(x => x.Category, list, new { @class = "form-control" }
</div>
不管我做什麼的 「VAR列表...」 部分沒有在我的Visual Studio工作。 有誰知道我在做什麼錯或爲什麼這種打字方式不起作用?
------與完整頁面進行編輯包括:----------
@model CypherMVC.Models.Task
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
Create a New Task<br />
<small>These are issues your team members should take care of - ASAP!</span></small>
</h1>
</div>
</div>
<div class="row">
<div class="col-md-12">
@using (Html.BeginForm("CreateEdit", "Task"))
{
<div class="form-group">
@Html.LabelFor(x => x.Title)
@Html.TextBoxFor(x => x.Title, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(x => x.Description)
@Html.TextAreaFor(x => x.Description, new { @class = "form-control", rows = 5 })
</div>
var list = List<SelectListItem>()
{
new SelectListItem() { Text="Look at me", Value="1" }
}
<div class="form-group">
@Html.LabelFor(x => x.CategoryId, "Category")
@Html.DropDownListFor(x => x.CategoryId, list, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(x => x.DueDate, "Due Date")
@Html.TextBoxFor(x => x.DueDate, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(x => x.AssignedToId, "Assigned To")
@Html.TextBoxFor(x => x.AssignedToId, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(x => x.AssociatedMessageId, "Associated Message")
@Html.TextBoxFor(x => x.AssociatedMessageId, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(x => x.Notes)
@Html.TextAreaFor(x => x.Notes, new { @class = "form-control", rows = 5 })
</div>
<div class="form-group">
@Html.LabelFor(x => x.Completed, "Is Complete")
@Html.CheckBoxFor(x => x.Completed)
</div>
<div class="form-group">
<input class="btn btn-primary pull-right" type="submit" text="Submit">
</div>
}
</div>
</div>
這是一個可怕的代碼示例,以及代碼屬於控制器,而不是視圖。但它需要包裝在一個剃鬚刀代碼塊中 - 「@ {var list = new List(){...}; }' –
你是什麼意思,它不工作?有沒有控制檯錯誤? –
我明白這是一個可怕的例子,他只是暫時顯示DropDownList函數。問題是他沒有將它包裝在@ {}中,它仍然有效。如果我打開他的項目,我也可以不使用@ {}(在他的項目文件中)執行它,但它拒絕在我的文件中工作。 –