2016-04-22 12 views
1

私はmvcの新機能です。テキストボックス値の背後にあるコードから値にアクセスしたいのですが、これは値をパラメータとして値渡しするという論理的な方法でしたアクション結果が、私はfirstNameをデバッグするときにnullとして表示されますか?コントロールに送信するとヌル値が返されます

私がアクセスしようとしているこの値は、私の無知を許してください。私は長いwebformsの背景から来ています。

<input id="firstName" class="form-control" type="text" /> 

また、コントローラに関連した迅速なquesitonは、私はいつもそれが呼び出されたという見解を返さなければならない私は、たとえば限り、それは同じレイアウトファイルを持っているとして、リターンSTEP2を行くことができますか?どのように私はウィザードのフォームをやっている私が求めているセーブアクションの理由以外の別のビューに行くことを伝えるだろうか?

私のフォームマークアップ

@using (Html.BeginForm("Step1", "Forms", FormMethod.Post, new { id = "submitForm" })) 
{ 
@Html.AntiForgeryToken() 
<h4>Health Check</h4> 
<hr /> 
@Html.ValidationSummary("", new { @class = "text-danger" }) 

<div class="form-group"> 
    @Html.Label("First Name", new { @class = "col-md-2 control-label" }) 


    <div class="col-md-10"> 
     <input id="firstName" class="form-control" type="text" /> 
    </div> 
</div> 

<div class="form-group"> 
    @Html.Label("Middle Name", new { @class = "col-md-2 control-label" }) 


    <div class="col-md-10"> 
     <input id="txtmiddleName" class="form-control" type="text" /> 
    </div> 
</div> 
<div class="form-group"> 
    @Html.Label("Surname", new { @class = "col-md-2 control-label" }) 


    <div class="col-md-10"> 
     <input id="txtsurname" class="form-control" type="text" /> 
    </div> 
</div> 

<div class="form-group"> 
    @Html.Label("Saluation", new { @class = "col-md-2 control-label" }) 
    <div class="col-md-10"> 
     <input id="txtSaluation" class="form-control" type="text" /> 
    </div> 
    </div> 

<div class="form-group"> 
    @Html.Label("Aliases", new { @class = "col-md-2 control-label" }) 
    <div class="col-md-10"> 
     <input id="txtAliases" class="form-control" type="text" /> 
    </div> 
</div> 

<div class="form-group"> 
    @Html.Label("Maritial Status", new { @class = "col-md-2 control-label" }) 
    <div class="col-md-10"> 
     <input id="txtmStatus" class="form-control" type="text" /> 
    </div> 
</div> 


<div class="form-group"> 
    @Html.Label("Maritial Status", new { @class = "col-md-2 control-label" }) 
    <div class="col-md-10"> 
     <select class="form-control"></select> 

    </div> 
</div> 


<div class="form-group"> 
    @Html.Label("Address 2", new { @class = "col-md-2 control-label" }) 
    <div class="col-md-10"> 
     <input id="txtmStatus" class="form-control" type="text" /> 
    </div> 
</div> 
<div class="form-group"> 
    @Html.Label("City", new { @class = "col-md-2 control-label" }) 
    <div class="col-md-10"> 
     <input id="txtmStatus" class="form-control" type="text" /> 
    </div> 
    </div> 

    <div class="form-group"> 
    @Html.Label("Post Code", new { @class = "col-md-2 control-label" }) 
    <div class="col-md-10"> 
     <input id="txtmStatus" class="form-control" type="text" /> 
    </div> 
    </div> 

    <div class="form-group"> 
     @Html.Label("County", new { @class = "col-md-2 control-label" }) 
     <div class="col-md-10"> 
      <input id="txtCounty" class="form-control" type="text" /> 
     </div> 
    </div> 
    <div class="form-group"> 
     @Html.Label("Country", new { @class = "col-md-2 control-label" }) 
     <div class="col-md-10"> 
      <input id="txtmStatus" class="form-control" type="text" /> 
     </div> 
    </div> 

    <div class="form-group"> 
     @Html.Label("Date Of Birth", new { @class = "col-md-2 control-label" }) 
     <div class="col-md-10"> 
      @(Html.Kendo().DatePicker() 
      .Name("datepicker")) 


     </div> 
    </div> 


    <div class="form-group"> 
     @Html.Label("Home Tel No", new { @class = "col-md-2 control-label" }) 
     <div class="col-md-10"> 
      <input id="txtmStatus" class="form-control" type="text" /> 
     </div> 
    </div> 

    <div class="form-group"> 
     @Html.Label("Home Work No", new { @class = "col-md-2 control-label" }) 
     <div class="col-md-10"> 
      <input id="txtmStatus" class="form-control" type="text" /> 
     </div> 
    </div> 


    <div class="form-group"> 
     @Html.Label("Fax No", new { @class = "col-md-2 control-label" }) 
     <div class="col-md-10"> 
      <input id="txtmStatus" class="form-control" type="text" /> 
     </div> 
    </div> 

    <div class="form-group"> 
     @Html.Label("Mobile No", new { @class = "col-md-2 control-label" }) 
     <div class="col-md-10"> 
      <input id="txtmStatus" class="form-control" type="text" /> 
     </div> 
    </div> 

    <div class="form-group"> 
     @Html.Label("Best Time To Call", new { @class = "col-md-2 control-label" }) 
     <div class="col-md-10"> 
      <select class="form-control"> 
       <option>Morning</option> 
       <option>Afternoon</option> 
       <option>Evening</option> 
      </select> 

     </div> 
    </div> 
    <button type="submit" id="btnSave">Save</button> 



} 

マイコントローラーアクション結果:データを提出するHTML内の任意の形式については

public ActionResult Step1(string firstName) 
    { 
     DataAccessAdapter _adapter = new DataAccessAdapter(); 

     TblfhcsPersonalEntity _personal = new TblfhcsPersonalEntity(); 

     _personal.FirstName = firstName; 



     _adapter.SaveEntity(_personal, true); 




     return View(); 

    } 
+0

MVCサイトにアクセスし、ビューを生成するための基本を学ぶことをお勧めします。厳密に型指定された 'HtmlHelper'メソッドを使用してモデルにバインドしてください。正しく生成されるように、 –

答えて

2

、すべて<input>タグがname="..."属性を持っている必要があります。設定idはjavascriptには便利ですが、フォームの送信では無視されます。

この場合、コントローラーアクションメソッドStep1にバインドしているものと一致するため、name="firstName"が適しています。

+0

私は気付いていますが、私の気づいたことは、問題の保存後にフォームが消えてしまうことです。 – rogue39nin

関連する問題