私は MVC フレームワークと ASP.NET を初めて使用するので、ずさんなコードをお詫びします。
登録する新しいユーザーのロールを管理者が設定する必要があるアプリケーションを作成しています。管理者がアプリケーションにログインすると、アプリに登録したユーザーのリストを表示する管理者ページに自動的に移動します。管理者は、新しいユーザーの役割を選択できます。
管理者用のコントローラーは次のとおりです。
public class AdminTestController : Controller
{
private UsersContext db = new UsersContext();
// GET: /AdminTest/
[Authorize(Roles = "Admin")]
public ActionResult Index()
{
var model = db.UserProfiles.ToList();
return View(model);
}
[HttpPost]
public ActionResult Submit(string userName, string selectedRole)
{
Roles.AddUserToRole(userName,selectedRole);
return View("Index");
}
対応するビューは次のとおりです。
@model IEnumerable<WAP.Models.UserProfile>
@{
ViewBag.Title = "Index";
}
...
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.UserId)
</td>
<td>
</td>
<td>
@Html.DisplayFor(modelItem => item.UserName)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.UserId }) |
@Html.ActionLink("Details", "Details", new { id=item.UserId }) |
@Html.ActionLink("Delete", "Delete", new { id=item.UserId })
@using (Html.BeginForm("Submit", "AdminTest", FormMethod.Post))
{
<select name ="selectedRole">
<option value="Null"></option>
<option value="Manager">Manager</option>
<option value="Agent">Agent</option>
</select>
<input id="SubmitChange" type="submit" value="Submit" />
<input id="userName" type ="text" value= "@item.UserName" name= "userName" hidden ="hidden" />
}
</td>
</tr>
}
この質問をご覧いただきありがとうございます。