我目前正在編寫一個小的內部網頁面。它使用實體框架將員工及其基本信息顯示在列表中,以便與我的數據庫進行交互並創建一個「員工」類。我正在添加邏輯以允許用戶編輯他們的配置文件。我當前的問題:添加一個控制器來編輯配置文件
- 這些表格只有在從本地主機導航時纔有效;使用 PC-NAME/WebAddress導致404錯誤。什麼可能導致這種情況?我怎樣才能解決這個問題 ?
- 表格爲空;我想編輯一個用戶名爲 的配置文件id = 1的例子,所有輸入框都會顯示出來,但它們都是空的 因此您需要再次鍵入所有信息。我能做些什麼來添加此功能?
- 訪問不限於管理員和配置文件的所有者(其中您的
當前域名登錄==我的用戶數據庫中的「domainAC」列 應允許編輯該帳戶,否則)。這裏最好的解決方案是什麼?
任何幫助解決任何這些問題將不勝感激。
這裏是信息我的當前設置/流:使用HTML /剃刀
顯示用戶:(index.cshtml)
<table id="employeeTable">
<thead>
<tr>
<th>Name</th>
<th>Branch</th>
<th>Phone No.</th>
<th>Extension</th>
<th>Email</th>
</tr>
</thead>
<tbody>
@foreach (var prod in Model)
{
<tr>
<td>@prod.FullName</td>
<td>@prod.Branch</td>
<td class="js-phoneNumbers">@prod.PhoneNo</td>
<td>@prod.Extension</td>
<td>@prod.Email</td>
@if (User.IsInRole(@"Admins") || User.Identity.Name == prod.DomainAC)
{
<td><a href="/home/edit/@prod.Id" style="color: blue;">edit</a></td>
}
else
{
<td>User => @User.ToString()</td>
}
<td>
<input type="checkbox" name="message" value="@prod.PhoneNo">Message<br>
</td>
</tr>
}
</tbody>
</table>
HomeController.cs:
namespace App1.Controllers
{
public class HomeController : Controller
{
protected edmxDatabase entities = new edmxDatabase();
protected override void Dispose(bool disposing)
{
entities.Dispose(); //what does this do? It was made by default
base.Dispose(disposing);
}
public ActionResult Index()
{
var products =
from p in entities.Employees
orderby p.Branch descending
select p;
return View(products);
}
[HttpGet]
public ActionResult Edit(int id = -1)
{
var employee= new Employee();
if (employee == null)
{
return HttpNotFound();
}
return View(employee);
}
}
}
編輯。 cshtml:
@model App1.Models.Employee
@{
ViewBag.Title = "Edit";
}
@using (Html.BeginForm())
{
<fieldset>
<legend>Employee</legend>
<div class="editor-label">
@Html.LabelFor(model => model.FullName)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.FullName)
</div>
<br/>
<div class="editor-label">
@Html.LabelFor(model => model.Branch)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Branch)
</div>
<br/>
<div class="editor-label">
<div style="float: left;">
@Html.LabelFor(model => model.DomainAC)
</div>
@Html.TextBoxFor(model => model.DomainAC)
</div>
<br/>
<div class="editor-label">
@Html.LabelFor(model => model.PhoneNo)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.PhoneNo)
</div>
<br/>
<input type="submit" value="Edit Employee details" />
</fieldset>
}
'當從本地主機導航到形式才起作用;'使用網址幫手index.chtml:'HREF =」 @ Url.Action(「Edit」,「Home」,new {id = prod.Id})「' – YD1m
@ YD1m這是一個!非常感謝你!:) –