0

こんにちは皆さん、新しいプロジェクトの追加リンクがあるテーブルがあります...それをクリックすると、新しいレコードを挿入するためのテキストボックスと作成するボタンがある作成ページに移動します..しかし、作成ボタンをクリックしますそれが機能しないのは誰でも私を助けることができます

これは私の create.aspx ページです:

             <%: ViewBag.Title="Create" %>

         <fieldset>
       <legend>Projects</legend>

  <div class="editor-label">
        <%: Html.LabelFor(model => model.projectName)%>
    </div>
    <div class="editor-field">
       <%:Html.EditorFor(model => model.projectName)%>
      <%: Html.ValidationMessageFor(model => model.projectName)%>
    </div>

    <div class="editor-label">
       <%:Html.LabelFor(model => model.Description)%>
    </div>
    <div class="editor-field">
       <%:Html.EditorFor(model => model.Description)%>
       <%:Html.ValidationMessageFor(model => model.Description)%>
    </div>
    <div class="editor-label">
    <%:Html.LabelFor(model=>model.status) %>
    </div>
    <div class="editor-field">
    <%:Html.EditorFor(model=>model.status) %>
    <%:Html.ValidationMessageFor(model=>model.status) %>
    </div>
    <p>
        <input type="submit" value="Create" />
    </p>
  </fieldset>

そして、これは私のコントローラ関数です:

              public ActionResult Create()
    {
        return View();
    }
    [HttpPost]
    public ActionResult Create(ProjectModel model)
    {
        var modelList = new List<ProjectModel>();
        using (SqlConnection conn = new SqlConnection("Data Source=LMIT-0039;Initial Catalog=BugTracker;Integrated Security=True"))
        {
            conn.Open();                
            SqlCommand insertcommande = new SqlCommand("Sp_AddNewProject", conn);
            insertcommande.CommandType = CommandType.StoredProcedure;
            insertcommande.Parameters.Add("@ProjectName", SqlDbType.VarChar).Value = model.projectName;
            insertcommande.Parameters.Add("@Description", SqlDbType.VarChar).Value = model.Description;
            insertcommande.Parameters.Add("@Status", SqlDbType.VarChar).Value = model.status;
            insertcommande.ExecuteNonQuery();
        }
        return View( modelList);
    }

aspxページの作成ボタンをクリックすると、コントローラーの作成メソッドに移動するはずです.....ここで何が間違っていますか........

4

3 に答える 3

1

これを create.aspx ページの BeginForm ステートメントに入れました。

        <% using (Html.BeginForm()) { %>
      <form action=”/members/Create” method=”post”&gt;</form>

と追加

[AcceptVerbs(HttpVerbs.Get)]
    public ActionResult Create()
{
    return View();
}
[AcceptVerbs(HttpVerbs.post)]
public ActionResult Create(ProjectModel model)
{
    var modelList = new List<ProjectModel>();
    using (SqlConnection conn = new SqlConnection("Data Source=LMIT-0039;Initial Catalog=BugTracker;Integrated Security=True"))
    {
        conn.Open();                
        SqlCommand insertcommande = new SqlCommand("Sp_AddNewProject", conn);
        insertcommande.CommandType = CommandType.StoredProcedure;
        insertcommande.Parameters.Add("@ProjectName", SqlDbType.VarChar).Value = model.projectName;
        insertcommande.Parameters.Add("@Description", SqlDbType.VarChar).Value = model.Description;
        insertcommande.Parameters.Add("@Status", SqlDbType.VarChar).Value = model.status;
        insertcommande.ExecuteNonQuery();
    }
    return View( modelList);
}
于 2012-07-16T07:03:31.020 に答える
0

formあなたのビューにはありません。それが一つの問題です。

于 2012-07-13T14:30:20.447 に答える
0

BeginForm については、MSDN にアクセスしてください: http://msdn.microsoft.com/en-us/library/dd410596.aspx

于 2012-07-14T21:10:53.827 に答える