2014-07-17 3 views
0

asp.net 및 mvc에서 일한 적이 없습니다.Asp.net MVC가 뷰에서 컨트롤러로 입력 값을 전달합니다.

간단한 등록 양식을 만들어야하지만 입력 값을 컨트롤러로 전달할 수 없습니다. 모델을 사용하지 않고 뷰에서 컨트롤러로 값을 가져올 수 있다면 데이터베이스에 입력을 추가 할 서버 측 함수가 내 컨트롤러에 있습니다.

많이 검색했지만 면도기 및 html.beginform 등을 사용하여 항상 답변을 받았으며 그 중 하나도 갖고 있지 않습니다. 여기

내이다 :

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Main.Master" Inherits="System.Web.Mvc.ViewPage" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> 
Index 
</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
<table width="100%"> 
<tbody> 
    <tr> 
     <td valign="top" style="width:300px"> 
      <fieldset> 
       <legend><b>Registration</b></legend> 
       <table class="submit"> 
        <tr> 
         <td>Customer Code:</td> 
         <td style="width: 50%">         
          <%: Html.TextBox("cbCode")%> 
         </td> 
        </tr> 
        <tr> 
         <td>Card No:</td> 
         <td> 
          <%: Html.TextBox("cardNo")%> 
         </td> 
        </tr> 
        <tr> 
         <td>E-Code:</td> 
         <td> 
          <%: Html.TextBox("pswrd")%> 
         </td> 
        </tr> 
        <tr> 
         <td>E-Token:</td> 
         <td> 
          <%: Html.TextBox("tokenId")%> 
         </td> 
        </tr>       
        <tr> 
         <td> 
          <button type="submit" onclick="tokenSubmit('POST');" class="btn"> 
           Submit</button> 
         </td> 
        </tr> 
       </table> 
      </fieldset>     
       <legend><b>Result</b></legend> 
       <div id="Result"> 
       </div> 
      </fieldset> 
     </td> 
    </tr> 
</tbody> 
</table> 
</asp:Content> 

내 컨트롤러 :

namespace Branch.Controllers 
{ 
public class CardEcodeController : Controller 
{ 
    // 
    // GET: /CardEcode/ 

    public ActionResult Index() 
    {    

     long cbCode = value from input; 
     long cardNo = value from input; 
     long tokenId = value from input; 
     long pswrd = value from input; 

     //using functions written in server side 
     RegisterClient reg = new RegisterClient(); 
     reg.InsertToken(cbCode,cardNo,tokenId,pswrd);   


     return View(); 
    }  

} 

} 

내 MVC 버전이 난 강력하게 당신이 작업에 대한 읽을 것을 권장합니다 2

+2

[ASP.NET MVC에 소개 (http://www.asp.net/mvc/tutorials/older-versions/getting-started-with-mvc/getting-started-with-mvc-part1) –

+0

이렇게하려면 javascript로 프런트 엔드 코딩해야합니다. 뷰 모델을 사용하면 "무료"로 사용할 수 있습니다. 스티븐이 추천하는 위의 튜토리얼이나 내가 게시 한 비디오를 보길 강력히 권합니다. 나는 "가난한 사람 검증"스크립트로 당신을 도울 수 있습니다. 그러나이를 위해서는 별도의 게시물을 작성해야합니다. 현재 접근 방식에 비해 viewmodels를 사용하는 또 다른 이점은 mvc가 stateless이므로 매개 변수가 null이되는 것처럼 뷰를 반환 할 때입니다. –

+0

이전 게시물에서 두 번째 질문을 삭제했습니다. 게시물 당 하나의 질문 만하십시오. – halfer

답변

0

3. 생각 MVC. MVC2 버전을 사용하고 있습니다. Razor 구문을 사용하려면 MVC3 또는 MVC4에서 프로젝트를 수행 할 수 있습니다. 귀하의 질문에 대한 빠른 대답은 이것입니다.

<%using (Html.BeginForm("Index", "CardEcode", FormMethod.Post)){%> 
    <table width="100%"> 
     <!-- table code here --> 
    </table> 
<% } %> 

컨트롤러의 경우 작업을 수행해야합니다.

public ActionResult Index() 
{    
    return View(); 
} 

[HttpPost] 
public ActionResult Index(long cbCode, long cardNo, long tokenId, long pswrd) 
{    
     //using functions written in server side 
     RegisterClient reg = new RegisterClient(); 
     reg.InsertToken(cbCode,cardNo,tokenId,pswrd);   


     return View(); 
} 
관련 문제