2012-01-30 3 views
1

안녕하세요, 내가 MVC 새로 온 방법 호출 제출할, 나는Asp.Net MVC3 면도기가

@model MeterProfileData.Core.Dto.CdapiDto 

@{ 
    ViewBag.Title = "Create"; 
    Layout = "~/Views/SiteMaster.cshtml"; 
} 

<h2>Create</h2> 


@using (Html.BeginForm()) { 
    <fieldset> 
     <legend>Add new CDAPI</legend> 
     <div class="editor-label"> 
      @Html.LabelFor(model => model.Name) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Name) 
      @Html.ValidationMessageFor(model => model.Name) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Url) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Url) 
      @Html.ValidationMessageFor(model => model.Url) 
     </div> 
     <p> 
     <input type="submit" value="Save" /> 
     </p> 
    </fieldset> 
} 
<div> 
    @Html.ActionLink("Back to List", "CdapiList") 
</div> 

및 다음 controler를

public class CdapiController : Controller 
    { 
    // 
    // GET: /Cdapi/ 

    public ActionResult CdapiList() 
    { 
     var cdapiList = new CdapiService().GetListCdapiServers(); 
     return View(cdapiList); 
    } 

    [HttpGet] 
    public ActionResult Create() 
    { 
     return View(); 
    } 

    [HttpPost] 
    public ActionResult Create(CdapiDto dto) 
    { 
     new CdapiService().CreateCdapi(dto); 
     return RedirectToAction("CdapiList"); 
    } 
    } 

후 항상 먼저 다음 뷰를 호출 제출할가 메소드 및 페이지가 새로 고쳐집니다. 내가 뭘 잘못하고있어? 무엇을 두 번째 방법을 호출하기위한 수행하고 페이지에서

마스터 레이아웃

<!DOCTYPE html> 
<html> 
<head> 
    <title>@ViewBag.Title</title> 
</head> 
<body> 
    <div> 
    </div> 
</body> 
</html> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    <title>Test mvc</title> 
    <meta name="keywords" content="" /> 
    <meta name="description" content="" /> 
    <link rel="stylesheet" href="/Content/style.css" type="text/css" media="screen, projection"> 
    </link> 
    <script src="@Url.Content("~/Content/javascript/jquery-1.7.1.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery-jtemplates.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div id="wrapper"> 
     <div id="header"> 
      <h3> 
       View Pages</h3> 
      <ul> 
       <li><a runat="server" href="/Register">Registers</a></li> 
       <li><a runat="server" href="/MeterProfile">Meter Profiles</a></li> 
       <li><a runat="server" href="/register/SupportedRegisters">Supported Registers </a></li> 
       <li><a runat="server" href="/logers/SupportedLogers">Supported Loggers </a></li> 
       <li><a runat="server" href="/Cdapi/CdapiList">CDAPI Servers </a></li> 
      </u> 
     </div> 
     <div id="content"> 
      @RenderBody() 
     </div> 
     <div id="footer"> 
     </div> 
    </div> 
    <div> 
    </div> 
    </form> 
</body> 
</html> 
+0

두 번째 생성자를 호출하지 않고 CdapiList로 리디렉션 하시겠습니까? – Shyju

답변

-1

난 당신이 달성하려는 모르겠어요 매개 변수에 보내,하지만 당신은 어떤 행동을 말할 필요합니다 당신이 바로 개통 <body> 태그 한 후 마스터 레이아웃의 다른 form 태그가

@using (Html.BeginForm("Create", "Cdapi", FormMethod.Post)) 
+0

나는 그것을 시험해 본다. 도움이 안되면 –

+0

새로운 CdapiService(). CreateCdapi (dto)에 중단 점을 넣으면 멈추지 않는다는 말입니까? – Razvan

+0

작성한 코드는 리던던트입니다. 이미 기본적으로 작동합니다. – archil

3

:에 게시 할 수 있습니다. 그 양식을 제거하면 좋은 것입니다.

+0

예 : (. 내가 Asp.Net 프로젝트에서 마스터 레이아웃을 복사했다. 그리고 거기에 양식을 잊었습니다. 이제 모든 작품입니다 –

+1

문제가되지 않습니다. 나는 자기 경험 에서이 사실을 알고 :(당신의 문제를 해결했다면 응답으로 확인 표시를하십시오. – MisterIsaak