1

こんにちは皆さん、私はプロジェクトのリンクを編集するテーブルを持っています...それをクリックすると、レコードを編集するためのテキストボックスと保存するボタンがある編集ページに移動します..しかし、保存ボタンをクリックします動作していません誰かが私を助けてくれますか

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

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<Gridview_BugTracker.Models.BugTracker_DataHelper>" %>
<!DOCTYPE html>

<html>
<head runat="server">
 <title></title>
        <%: ViewBag.Title="Edit" %>
</head>
<body>
        <div>
             <% using (Html.BeginForm())
                 { %>
        <form action="Edit.aspx" method="post"></form>

        <%:Html.ValidationSummary(true)%>
        <fieldset>
                <legend>Projects</legend>

             <%:Html.HiddenFor(model => model.ProjectId)%>

                <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="Save" />
                </p>
        </fieldset>
<%} %>
                <%: Html.ActionLink("Back to List", "Index")%>
        </div>      
</body>
</html>

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

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Edit(int id, BugTracker_DataHelper updatemodel)
{
    SqlConnection editconn = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=BugTracker;Data Source=SSDEV6\SQLEXPRESS");
    {
            editconn.Open();
            SqlCommand ecmd = new SqlCommand("Select ProjectId,projectName,Description,status From Projects Where ProjectId=" + id, editconn);                 
            SqlDataReader dr = ecmd.ExecuteReader();
            if (dr.Read())
            {
                    updatemodel.ProjectId = Convert.ToInt16(dr["ProjectId"]);
                    updatemodel.projectName = dr["projectName"].ToString();
                    updatemodel.Description = dr["Description"].ToString();
                    updatemodel.status = dr["status"].ToString();
            }
            else
            {
                    dr.Close();
            }
            dr.Close();
            editconn.Close();
            return View(updatemodel);
    }
}

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(BugTracker_DataHelper updatemodel, FormCollection collection, int id)
{
    SqlConnection editconn = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=BugTracker;Data Source=SSDEV6\SQLEXPRESS");
    {

            SqlCommand ecmd = new SqlCommand("EditGetList", editconn);
            ecmd.CommandType = CommandType.StoredProcedure;
            editconn.Open();
            ecmd.Parameters.Add("projectID", SqlDbType.Int).Value = updatemodel.ProjectId;
            ecmd.Parameters.Add("projectName", SqlDbType.VarChar).Value = updatemodel.projectName;
            ecmd.Parameters.Add("Description", SqlDbType.VarChar).Value = updatemodel.Description;
            ecmd.Parameters.Add("Status", SqlDbType.VarChar).Value = updatemodel.status;
            editconn.Close();   

            return View(updatemodel);
    }
}

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

4

1 に答える 1

0

あなたは2つの形を持っていることを支持されていますか?

<% using (Html.BeginForm())
{ %>
     <form action="Edit.aspx" method="post"></form>

または、BeginFormのアクションを設定しようとしていましたか?

押しているボタンは、実際には最初のフォームの一部であり、2番目のフォームの一部ではありません。

したがって、この

 <form action="Edit.aspx" method="post"></form>

現在はあまりやっていない。

保存ボタンで2番目のフォームで何かを実行したい場合は、次のようにフォームタグ内にボタンを配置する必要があります。

 <form action="Edit.aspx" method="post">
    <input type="submit" value="Save" />
 </form>
于 2012-07-17T09:44:04.413 に答える