1

以下は私のビューページです。<form>値を挿入するときにタグがないと、完全に挿入されます。しかし、挿入し<form>ない値をタグで挿入すると、デバッグポイント[HttpGet][HttpPost]. 検証目的で、<form>タグを挿入しました。しかし、それは役に立たないようです..解決策を教えてください....

@model CustMaster.Models.MyAccount
@using CustMaster.Models

@{
    ViewBag.Title = "Customer Information";
}    

<html>
<head>
   <title>Customer Information</title>
   <link href="../../style.css" rel="stylesheet">     
</head>
<body>

<form action="" id="contact-form" class="form-horizontal">

   @using (Html.BeginForm())
   {        
      <table>
        <tr>
           <td><h3>User Information</h3></td>
        </tr>
      </table>
      <table>
         <tr>
            <td>
             <div class="control-group">

               @Html.LabelFor(model => model.CustomerFirstName, 
               new { @class = "control-label" })

                <div class="controls">
                   @Html.TextBoxFor(model => model.CustomerFirstName, 
                   new { @class = "input-xlarge" })

                </div> 
             </div>
           </td>

          <td>
             <div class="control-group"> 

               @Html.LabelFor(model => model.CustomerMiddleName, 
               new { @class = "control-label" })

                <div class="controls">
                     @Html.TextBoxFor(model => model.CustomerMiddleName, 
                     new { @class = "input-xlarge" })
                </div>
             </div>
         </td>
      </tr>     
 </table>
 <button type="submit">Register</button>
}
@*</form>*@

   <script type="text/javascript" src="../../assets/js/jquery-1.7.1.min.js"></script>   
   <script type="text/javascript" src="../../assets/js/jquery.validate.js"></script>   
   <script type="text/javascript" src="../../assets/js/jquery.validate.min.js"></script>   
   <script type="text/javascript" src="../../script.js"></script>   

</body>
</html>

以下は私のコントローラーです

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

[HttpPost]
public ActionResult Index(MyAccount myacc)
{
   MyAccount ma = new MyAccount();
   var objview = ma.GetCustInfo(myacc);
   return View();            
}
4

1 に答える 1

1

HTML フォームをネストすることはできません => 無効なマークアップと未定義の動作が発生します。外側を取り外す必要があります<form>。はHtml.BeginForm既にフォーム タグを生成しています。フォームの終了タグにはコメントしているようですが、開始にはコメントしていないようです。

そして、コードを少しフォーマットしてください。読むのは完全に混乱しています:

@model CustMaster.Models.MyAccount
@using CustMaster.Models

@{
    ViewBag.Title = "Customer Information";
}

<html>
<head>
    <title>Customer Information</title>
    <link href="@Url.Content("~/style.css")" rel="stylesheet">
</head>
<body>
    @using (Html.BeginForm(null, null, FormMethod.Post, new { id = "contact-form" })) 
    {
        <table>
            <tr>
                <td><h3>User Information</h3></td>
            </tr>
        </table>
        <table>
            <tr>
                <td>
                    <div class="control-group">
                       @Html.LabelFor(model => model.CustomerFirstName, new { @class = "control-label" })
                       <div class="controls">
                           @Html.TextBoxFor(model => model.CustomerFirstName, new { @class = "input-xlarge" })
                       </div> 
                   </div>
               </td>
               <td>
                   <div class="control-group">
                       @Html.LabelFor(model => model.CustomerMiddleName, new { @class = "control-label" })
                       <div class="controls">
                           @Html.TextBoxFor(model => model.CustomerMiddleName, new { @class = "input-xlarge" })
                       </div>
                   </div>
               </td>
           </tr>
       </table>

       <button type="submit">Register</button>
    }

    <script type="text/javascript" src="@Url.Content("~/assets/js/jquery-1.7.1.min.js")"></script>   
    <script type="text/javascript" src="@Url.Content("~/assets/js/jquery.validate.js")"></script>   
    <script type="text/javascript" src="@Url.Content("~/assets/js/jquery.validate.min.js")"></script>   
    <script type="text/javascript" src="@Url.Content("~/script.js")"></script>
</body>
</html>

また、URL をハードコーディングするのではなく、URL ヘルパーを導入することでスクリプト参照を修正したことにも注意してください。

于 2012-07-25T15:53:31.873 に答える