설명 :이 요청을 처리하는 데 필요한 리소스를 컴파일하는 동안 오류가 발생했습니다. 다음 특정 오류 정보를 검토하고 소스 코드를 적절히 수정하십시오.부분 양식을 구현하려고 할 때 'DinnerForm'형식 또는 네임 스페이스 이름이 'NerdDinner.Models'네임 스페이스에 없습니다.
컴파일러 오류 메시지 : CS0234 : 형식 또는 네임 스페이스 이름 'DinnerForm은'NerdDinner.Models '(당신이 어셈블리 참조가 누락?) 네임 스페이스에 존재하지 않는
소스 오류 :
라인 170 :
선 171 : System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()] 선 172 : 공용 클래스 views_dinners_create_aspx : System.Web.Mvc.ViewPage, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler { 라인 173 :
줄 174 : 개인 정적 bool @__initialized;
DinnerFormViewModel.cs :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using NerdDinner.Controllers;
namespace NerdDinner.Models
{
public class DinnerFormViewModel
{
// Properties
public Dinner Dinner { get; private set; }
public SelectList Countries { get; private set; }
// Constructor
public DinnerFormViewModel(Dinner dinner)
{
Dinner = dinner;
Countries = new SelectList(PhoneValidator.Countries, dinner.Country);
}
}
}
DinnerForm.ascx :
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<NerdDinner.Controllers.DinnerFormViewModel>" %>
<%= Html.ValidationSummary("Please correct the errors and try again.") %>
<% using (Html.BeginForm()) { %>
<fieldset>
<p>
<label for="Title">Dinner Title:</label>
<%= Html.TextBox("Title", Model.Dinner.Title) %>
<%=Html.ValidationMessage("Title", "*") %>
</p>
<p>
<label for="EventDate">Event Date:</label>
<%= Html.TextBox("EventDate", Model.Dinner.EventDate) %>
<%= Html.ValidationMessage("EventDate", "*") %>
</p>
<p>
<label for="Description">Description:</label>
<%= Html.TextArea("Description", Model.Dinner.Description) %>
<%= Html.ValidationMessage("Description", "*") %>
</p>
<p>
<label for="Address">Address:</label>
<%= Html.TextBox("Address", Model.Dinner.Address) %>
<%= Html.ValidationMessage("Address", "*") %>
</p>
<p>
<label for="Country">Country:</label>
<%= Html.DropDownList("Country", Model.Countries) %>
<%= Html.ValidationMessage("Country", "*") %>
</p>
<p>
<label for="ContactPhone">Contact Phone #:</label>
<%= Html.TextBox("ContactPhone", Model.Dinner.ContactPhone) %>
<%= Html.ValidationMessage("ContactPhone", "*") %>
</p>
<p>
<input type="submit" value="Save"/>
</p>
</fieldset>
<% } %>
DinnersControllers.cs (create 메소드)
//
// GET: /Dinners/Create
public ActionResult Create()
{
Dinner dinner = new Dinner()
{
EventDate = DateTime.Now.AddDays(7)
};
return View(new DinnerFormViewModel(dinner));
}
//
// POST: /Dinners/Create
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(Dinner dinner)
{
if (ModelState.IsValid)
{
try
{
dinner.HostedBy = "SomeUser";
dinnerRepository.Add(dinner);
dinnerRepository.Save();
return RedirectToAction("Details", new { id = dinner.DinnerID });
}
catch
{
foreach (var issue in dinner.GetRuleViolations())
{
ModelState.AddModelError(issue.PropertyName, issue.ErrorMessage);
}
return View(new DinnerFormViewModel(dinner));
}
}
return View(new DinnerFormViewModel(dinner));
}
Create.aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<NerdDinner.Models.DinnerForm>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Host A Dinner
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Host a Dinner</h2>
<% Html.RenderPartial("DinnerForm"); %>
</asp:Content>
당신은 자세한 내용은 남자를 제공해야 할 것입니다. 내 말은 .. 그건 아무것도 아닌 것 같아. – Chance
제공 할 다른 항목이 확실하지 않습니다. 그 오류는 내가 받았던거야? 그 밖의 무엇을 알고 싶니? –
오류가있는 것으로 보이는보기/저녁/create.aspx를 제공하십시오. 또한 NerdDinners.Models.Dinner 또는 그 cs 파일의 이름이 무엇이든 게시하십시오. – Chance