2016-05-15 12 views
0

Die Schaltfläche Submit ruft die Methode im Controller nicht auf, um Daten zu speichern. Sie ruft die Methode auf, um die Seite zu laden. Mein Code ist wie folgt. Ich habe Html.BeginForm("ServiceEntryRegister","",FormMethod.Post)MVC Submit-Button funktioniert nicht

public class ServiceEntryRegister 
{ 
    public List<ReceiptHeader> HEADER { get; set; } 
    public List<ReceiptDetail> DETAIL { get; set; } 
    public ReceiptHeader SingleHEADER { get; set; } 
    public ReceiptDetail SingleDETAIL { get; set; } 
    public List<Suburb> SUBURB { get; set; } 
} 

-Controller versuchen:

public class ServiceEntryRegisterController : Controller 
{ 

    private AUTOEntities _er = new AUTOEntities(); 
    private DateTime _Defaultdate = Convert.ToDateTime("01/01/1900 00:00:00"); 

    public ActionResult Index(DateTime P_ServiceDate , String P_Registraion="x", String P_CustomerName="x") 
    { 
     var Model = new ServiceEntryRegister(); 
     if(P_ServiceDate!=null || P_Registraion!=null || P_CustomerName!=null) 
     { 
     }   
     return View(); 
    } 

    public ActionResult CreateNew() 
    { 
     CreateBagForLists(); 
     var Model = new ServiceEntryRegister(); 
     return View(Model); 
    } 

    [HttpPost] 
    private ActionResult CreateNew(ServiceEntryRegister RH,String save) 
    { 
     if (ModelState.IsValid) 
     { 
      int x = 0; 
      x++; 
      return View(); 
     } 
     else 
     { 
      return View(); 
     } 
    } 
} 

VIEW:

@model HIMA_AUTOWORKSHOP.Models.ServiceEntryRegister 
@using (Html.BeginForm()) 
{ 
    <table> 
     <td> 
      <table> 
       <th> </th> 
       <th></th> 
       <tr> 
        <td>Dated </td> 
        <td>Nil</td> 
       </tr> 
       <tr> 
        <td>Owner Name</td> 
        <td>@Html.TextBoxFor(o => o.SingleHEADER.OwnerName)</td> 
       </tr> 
       <tr> 
        <td>Mobile</td> 
        <td>@Html.TextBoxFor(w => w.SingleHEADER.Mobile, null, new { maxlength = 10, autocomplete = "on", style = "width:245px" })</td> 
       <tr> 
        <td></td> 
        <td><input name="submit" type="submit" id="submit" value="Save Request" /></td> 
       </tr> 
      </table> 
     </td> 
    </table> 
} 

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 
+0

so was ist das Verhalten? – Steve

+0

es ruft öffentlichen ActionResult CreateNew() { CreateBagForLists(); var Modell = neu ServiceEntryRegister(); Rückansicht (Modell); } – user3513192

+0

Sie tun in beiden Fällen Rückkehr View(). Sind Sie sicher, dass es nicht zuerst die Post-Methode und dann die parameterlose Methode aufruft? – Steve

Antwort

2

Wenn die Methode privat ist dann Post-Anforderung wird nie diese Methode aufrufen. Aber da Sie die parameterlose Methode nicht als HttpGet markiert haben, nur deshalb wird es stattdessen aufgerufen

+0

Danke Jungs, YES PRIVATE war das Problem, Problem gelöst – user3513192

Verwandte Themen