0

データベースに2つのテーブルがあります:tbleducation、tblemployee。とにかくテーブルtblemployeeには、フィールドがあります:employeeID、employeeName ....次のようなフィールドを持つtbleducationにデータを挿入したい:EmployeeID、Duration、.....そしてテーブルtbleducationのEmployeeIDに対して、tblEmployee内のすべてのEmployeeNameをドロップダウンリストにリストするドロップダウンリストを作成します。次のようなコードがあります。

意見

<div id="Education">
<%Html.EnableClientValidation(); %>
<% using (Html.BeginForm("Education","EmployeeProfile")){%>
 <% Html.ValidationSummary(true, "Unsuccessfull"); %>
      <table>
        <tr>
          <td>Employee Name</td>
          <td><%= Html.DropDownListFor(x => x.EmployeeName, Model.Employee, "select EmployeeName")%</td>
          <td>Duration</td>
          <td><%: Html.TextBoxFor(m=> m.Duration, new { id="duration",name="duration"})%>
      <%: Html.ValidationMessageFor(m => m.Duration) %></td>
       <tr>
          <td><input type="submit" name="add" id="add" value="Add" /></td>
      </tr>
    </table>
   <%}%>
</div>

モデル

public class UserModels
{

    public string EmployeeName { get; set; }
    public int EmployeeCode { get; set; }
    public IEnumerable<SelectListItem> Employee { set; get; }
}

コントローラ

public ActionResult Education() {

        var query = (from e in context.tblEmployee_Employee
                     select new
                     {
                         empID = e.Code,
                         EmpName = e.NameEng
                     }
                              ).ToList();

        var model = new UserModels();
        var _Emp = query;
        foreach (var item in _Emp)
        {
            model.EmployeeCode = item.empID;
            model.EmployeeName = item.EmpName;
            model.Employee = new SelectList(_Emp, "EmpName", "EmpName");

        }
        return View(model);
    }
   [HttpPost]
    public ActionResult Education(UserModels model, FormCollection edu) {
        tblEmployee_Education education = new tblEmployee_Education();

        education.Duration = edu["Duration"].ToString();
        education.Certificate = edu["Certificate"].ToString();
        education.Country = edu["Country"].ToString();
        education.SchoolName = edu["SchoolName"].ToString();
        education.Major = edu["Major"].ToString();
        education.SubDescript = edu["SubDescript"].ToString();
        string EName = edu["EmployeeName"].ToString();
        return Content(
           string.Format(
               "Selected role for {0} is {1}", model.EmployeeName, model.EmployeeCode
           )
       );
        context.AddTotblEmployee_Education(education);
        context.SaveChanges();
        return View("Personal");
    }

「到達不能なコードが検出されました」という警告メッセージが表示されました。解決方法がわかりません。助けてください。

よろしくお願いします。

4

1 に答える 1

0

POSTアクションでは、次のようになります。

return Content(
    string.Format(
        "Selected role for {0} is {1}", model.EmployeeName, model.EmployeeCode
    )
);

すでに結果が返され、アクションの実行が終了します。

したがって、それに続く行を削除してください。実行されることはありません。

context.AddTotblEmployee_Education(education);
context.SaveChanges();
return View("Personal");

そして、それらを実行したい場合は、そのreturn Content(...)行を削除します。

于 2012-07-30T15:43:21.517 に答える