Как мне подключить мою пользовательскую страницу регистрации к модели?

#c# #html #sql-server #asp.net-mvc #visual-studio

#c# #HTML #sql-сервер #asp.net-mvc #visual-studio

Вопрос:

Я новичок в Visual Studios MVC, поэтому, пожалуйста, помогите мне. Каждый учебник, который я видел, использует bootstrap для создания страниц регистрации. Я создал свою собственную, используя HTML, Javascript и CSS. Вот контроллер шаблона:

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

    void ConnectionString()
    {
        con.ConnectionString = "Data Source=LAPTOP-3063L3HI\SQLEXPRESS; database=betterpathdb; 
    Integrated Security=SSPI;";
    }
    public ActionResult Create(Staff reg)
    {


        
  string insertQuery = "INSERT INTO 
  staff(username,password,first,last,position) "  
  "VALUES('"   reg.username   "', '"   reg.password   "', '"   
   reg.first   "', '"   reg.last   "', '"   @position   "')";


            con.Open();
            com = new SqlCommand(insertQuery, con);
            com.Parameters.AddWithValue("@position", position);

        if (com.ExecuteNonQuery() == 1)
        {
            con.Close();
            return View("");
        }
        else
        {
            con.Close();
            return View("Error");
        }
        
  

Вот шаблон HTML:

 <div class="form">

    <form action="Create" method="post">
    <h1>BetterPath Wellness</h1>
    <h4>Create Account or</h4>
    <div>@Html.ActionLink("Login", "IndexLogin")</div>
    <div class="txt-block">
        <label for="us-fname">First:</label><br>
        <input type="text" name="fname" id="fname">
        <label for="us-lname">Last:</label><br>
        <input type="text" name="lname" id="lname">
    </div>
    <div class="txt-block">
        <label for="us-pos">Position:</label>
        <input type="radio" name="position" value="therapy">Therapist
        <input type="radio" name="position" value="observer">Observer
        <input type="radio" name="position" value="admin">Admin
    </div>
    <div class="txt-block">
        <label for="username">Username:</label><br>
        <input type="text" name="username" id="username">
    </div>
    <div class="txt-block">
        <label for="password">Password:</label><br>
        <input type="password" name="password" id="password">
    </div>
    <div class="btn-container">
        <button id="btn" type="submit">Create</button>
    </div>
    </form>
 </div>
  

Я думаю, что моя строка подключения для «создать» неверна?

Ответ №1:

Добавьте [HttpPost] тег к своему действию. Глагол по умолчанию — Get .

 [HttpPost]
public ActionResult Create(Staff reg){
   ...
}