2016-10-26 40 views
0

我正在嘗試構建聯繫表單,因爲我正在構建網站,但我不確定我是否正確地執行了此操作。我正在使用引導程序模板,並在頁面底部顯示聯繫表單。我有一個模型代表我的班級,並有一個控制器,根據我在網上收集的內容,應該處理點擊按鈕,但顯然有些事情是錯誤的。我的背景是C++和Java,所以這是一個不同的球賽,所以任何人都可以告訴我我需要做些什麼來實現它?下面的代碼。謝謝!如何使用引導程序和HTML創建聯繫表單

HomeController.cs:

namespace WebPlay.Controllers 
{ 
    public class HomeController : Controller 
    { 
     [HttpGet] 
     public ActionResult Index() 
     { 
      return View(); 
     } 

     [HttpPost] 
     public ActionResult Index(ContactInfo ci) 
     { 
      try 
      { 
       MailMessage mail = new MailMessage(); 
       mail.To.Add(ci.Email); 
       mail.From = new MailAddress("[email protected]"); 
       mail.Subject = "New Request"; 

       string userMessage = ""; 
       userMessage = "<br/>Name :" + ci.FirstName + " " + ci.LastName; 
       userMessage = userMessage + "<br/>Phone No: " + ci.ContactInfoID; 
       userMessage = userMessage + "<br/>Message: " + ci.Comments; 

       mail.Body = userMessage; 
       mail.IsBodyHtml = true; 

       SmtpClient smtp = new SmtpClient(); 
       //SMTP Server Address of gmail 
       smtp.Host = "smtp.gmail.com"; 
       smtp.Port = 587; 
       smtp.Credentials = new System.Net.NetworkCredential("xxxxxxx", "xxxxxxx"); 

       // Smtp Email ID and Password For authentication 
       smtp.EnableSsl = true; 
       smtp.Send(mail); 
       ViewBag.Message = "Thank you for contacting us."; 
      } 
      catch 
      { 
       ViewBag.Message = "Fail"; 
      } 

      return View(); 
    } 
} 

Index.cshtml:

@{ 
    ViewBag.Title = "Home Page"; 
} 

<!-- Navigation --> 
<nav class="navbar navbar-custom navbar-fixed-top" role="navigation"> 
    <div class="container"> 
     <div class="navbar-header"> 
      <a class="navbar-brand page-scroll" href="#page-top"> 
      </a> 
     </div> 
     <!-- Collect the nav links, forms, and other content for toggling --> 
     <div class="collapse navbar-collapse navbar-right navbar-main-collapse"> 
      <nav class="navbar navbar-dark bg-inverse"> 
       <a class="page-scroll" href="#about">About</a> 

       <a class="page-scroll" href="#download">Download</a> 

       <a class="page-scroll" href="#contact">Contact</a> 
      </nav> 

     </div> 
     <!-- /.navbar-collapse --> 
    </div> 
    <!-- /.container --> 
</nav> 
<!-- Intro Header --> 
<header class="intro"> 
    <div class="intro-body"> 
     <div class="container"> 
      <div class="row"> 
       <div class="col-md-8 col-md-offset-2"> 
        <h1 class="brand-heading">Greetings...</h1> 
        <p class="intro-text">I'm Jon. This is my site.<br>Ya know what's up.</p> 
        <i class="fa fa-angle-double-down animated"></i> 
        </a> 
       </div> 
      </div> 
     </div> 
    </div> 
</header> 
<!-- About Section --> 
<section id="about" class="container content-section text-center"> 

    <div class="row"> 
     <div class="col-lg-8 col-lg-offset-2"> 
      <h2>About Me</h2> 
      <p>I'm a programmer, crossfitter, and taco lover. The last 2 don't go togther so well.</p> 
     </div> 
    </div> 
</section> 
<!-- Download Section --> 
<section id="download" class="content-section text-center"> 
    <div class="download-section"> 
     <div class="container"> 
      <div class="col-lg-8 col-lg-offset-2"> 
       <h2>Download Grayscale</h2> 
       <p>You can download Grayscale for free on the preview page at Start Bootstrap.</p> 
       <a href="http://startbootstrap.com/template-overviews/grayscale/" class="btn btn-default btn-lg">Visit Download Page</a> 
      </div> 
     </div> 
    </div> 
</section> 
<!-- Contact Section --> 
<section id="contact" class="container content-section text-center"> 
    <div class="row"> 
     <div class="col-lg-8 col-lg-offset-2"> 
      <h2>3...2...1...Contact Me</h2> 
      <p>Feel free to contact me for a quote or to just say hello!</p> 
      <form class="form-horizontal" role="form" method="post" action="index.php"> 
       <div class="form-group"> 
        <label for="name" class="col-sm-2 control-label">First Name:</label> 
        <div class="col-sm-10"> 
         <input type="text" class="form-control" id="name" name="name" value=""> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label for="name" class="col-sm-2 control-label">Last Name:</label> 
        <div class="col-sm-10"> 
         <input type="text" class="form-control" id="name" name="name" value=""> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label for="phone" class="col-sm-2 control-label">Phone:</label> 
        <div class="col-sm-10"> 
         <input type="text" class="form-control" id="email" name="email" value=""> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label for="email" class="col-sm-2 control-label">Email:</label> 
        <div class="col-sm-10"> 
         <input type="email" class="form-control" id="email" name="email" value=""> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label for="exampleSelect1">Reason for contacting me:</label> 
        <select class="form-control" id="exampleSelect1"> 
         <option>Quote on work</option> 
         <option>Just for fun</option> 
         <option>I might have a job for you</option> 
        </select> 
       </div> 
       <div class="radio"> 
        <label><input type="radio" name="optradio">I need a web app</label> 
       </div> 
       <div class="radio"> 
        <label><input type="radio" name="optradio">I need a Windows app</label> 
       </div> 
       <div class="radio"> 
        <label><input type="radio" name="optradio">I need a phone app</label> 
       </div> 
       <div class="radio"> 
        <label><input type="radio" name="optradio">I need nothing</label> 
       </div> 
     <div class="form-group"> 
      <label for="message" class="col-sm-2 control-label">Message:</label> 
      <div class="col-sm-10"> 
       <textarea class="form-control" rows="4" name="message"></textarea> 
      </div> 
     </div> 
     <div class="form-group"> 
      <div class="col-sm-10 col-sm-offset-2"> 
       <input id="submit" name="submit" type="submit" value="Send" class="btn btn-primary"> 
      </div> 
      <button class="btn btn-danger" type="reset">Reset</button> 
     </div> 
     <div class="form-group"> 
      <div class="col-sm-10 col-sm-offset-2"> 
       <! Will be used to display an alert to the user> 
      </div> 
     </div> 
     </form> 
    </div> 
    </div> 
</section> 
<!-- Map Section --> 
<div id="map"></div> 
<!-- Footer --> 
<footer> 
    <div class="container text-center"> 
     <p>Copyright &copy; Your Website 2014</p> 
    </div> 
</footer> 

的ContactInfo類:

namespace PellegriniP3_1.Models 
{ 
    public class ContactInfo 
    { 
     public string Comments { get; set; } 
     public int ContactInfoID { get; set; } 
     public string Email { get; set; } 
     public string FirstName { get; set; } 
     public string LastName { get; set; } 
     public bool IsPhoneApp { get; set; } 
     public bool IsWebApp { get; set; } 
     public bool IsWindowsApp { get; set; } 
     public string TypeOfRequest { get; set; } 
    } 
} 
+1

這看起來像.NET MVC,形式似乎被張貼到PHP。 – Brian

+0

請參閱[mcve] –

回答

0
<form class="form-horizontal" role="form" method="post" action="index.php"> 
    <div class="form-group"> 
     <label for="name" class="col-sm-2 control-label">Name</label> 
     <div class="col-sm-10"> 
      <input type="text" class="form-control" id="name" name="name" placeholder="First & Last Name" value="<?php echo htmlspecialchars($_POST['name']); ?>"> 
      <?php echo "<p class='text-danger'>$errName</p>";?> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label for="email" class="col-sm-2 control-label">Email</label> 
     <div class="col-sm-10"> 
      <input type="email" class="form-control" id="email" name="email" placeholder="[email protected]" value="<?php echo htmlspecialchars($_POST['email']); ?>"> 
      <?php echo "<p class='text-danger'>$errEmail</p>";?> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label for="message" class="col-sm-2 control-label">Message</label> 
     <div class="col-sm-10"> 
      <textarea class="form-control" rows="4" name="message"><?php echo htmlspecialchars($_POST['message']);?></textarea> 
      <?php echo "<p class='text-danger'>$errMessage</p>";?> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label for="human" class="col-sm-2 control-label">2 + 3 = ?</label> 
     <div class="col-sm-10"> 
      <input type="text" class="form-control" id="human" name="human" placeholder="Your Answer"> 
      <?php echo "<p class='text-danger'>$errHuman</p>";?> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-sm-10 col-sm-offset-2"> 
      <input id="submit" name="submit" type="submit" value="Send" class="btn btn-primary"> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-sm-10 col-sm-offset-2"> 
      <?php echo $result; ?> 
     </div> 
    </div> 
</form> 

請檢查此鏈接: - https://bootstrapbay.com/blog/working-bootstrap-contact-form/