こんにちはみんな私はこのように見える2つのテーブルを持っています
usertable RoleTable
----------------------- ---------------------------
UserID|UserName|Pwd|RoleID RoleID|RoleName
1 |Anil |123|1 1 |Admin
今、私は彼がAddNewリンクを持っているテーブルにユーザーテーブルを表示しています。管理者がAddNewリンクをクリックすると、AddNewユーザーにいくつかのラベルとテキストボックスがあるAddNewページを表示します。
今、私がやりたいのは、AddNewページにあります。ドロップダウンにすべてのRoleNameを表示して、管理者がユーザーがどのロールにいる必要があるかを選択できるようにします。選択したデータを取得します。
これは私のモデルクラスです
public class ResourceModel
{
public static List<ResourceModel> GetList { get; set; }
public Int16 EmployeeId { get; set; }
public string EmployeeName { get; set; }
public string EmployeeEmailId { get; set;}
public string GroupName { get; set; }
public string EmployeePassword { get; set; }
}
これは私のコントローラーです
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult AddNew()
{
ViewBag.Roles = new SelectList(GetRoles(),"RoleID","RoleName");
return View();
}
//
//Geting All Roles In a GetRoles()/
//
public static GetRoles()
{
SqlConnection conn = new SqlConnection("Data Source=LMIT-0039;Initial Catalog=BugTracker;Integrated Security=True");
SqlCommand Cmd = new SqlCommand("Select GroupId,EmplopyeeRole from EmployeeGroup", conn);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(Cmd);
DataSet ds = new DataSet();
da.Fill(ds);
for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
{
//roles.Add(new SelectListItem{.Value=i,.Text=i};
var model = new ResourceModel();
model.RoleId = Convert.ToInt16(ds.Tables[0].Rows[i]["GroupId"]);
model.RoleName = ds.Tables[0].Rows[i]["EmplopyeeRole"].ToString();
//roles.Value=Convert.ToString( model.RoleId);
//roles.Text=model.RoleName;
}
conn.Close();
return ds ;
}
上記のコードで何を返さなければならないか
これは私のAddNewAspxページです
<div>
<% using (Html.BeginForm())
{ %>
<%-- <form action="Create.aspx" method="post"></form>--%>
<%:Html.ValidationSummary(true)%>
<fieldset>
<legend style="color:Orange; font-weight:bolder;">AddNew Project</legend>
<div class="editor-label" style="color:Orange; font-weight:bolder;">
<%: Html.LabelFor(model => model.EmployeeName)%>
</div>
<div class="editor-field">
<%:Html.EditorFor(model => model.EmployeeName)%>
<%: Html.ValidationMessageFor(model => model.EmployeeName)%>
</div>
<div class="editor-label" style="color:Orange; font-weight:bolder;">
<%:Html.LabelFor(model => model.EmployeeEmailId)%>
</div>
<div class="editor-field">
<%:Html.EditorFor(model => model.EmployeeEmailId)%>
<%:Html.ValidationMessageFor(model => model.EmployeeEmailId)%>
</div>
<div class="editor-label" style="color:Orange; font-weight:bolder;">
<%:Html.LabelFor(model => model.EmployeePassword)%>
</div>
<div class="editor-field">
<%:Html.EditorFor(model => model.EmployeePassword)%>
<%:Html.ValidationMessageFor(model => model.EmployeePassword)%>
</div>
<div class="editor-label" style="color:Orange; font-weight:bolder;">
<%:Html.LabelFor(model => model.GroupName)%>
</div>
<div class="editor-field">
<%:Html.EditorFor(model => model.GroupName)%>
<%:Html.ValidationMessageFor(model => model.GroupName)%>
<p>
<input type="submit" value="Create" style="color:Orange; font-weight:bolder;"/>
</p>
</fieldset>
<%} %>
</div>
誰かがMVC3でこれを行うのを手伝ってくれますか....ドロップダウンでRoleNamesを表示する必要がありますコントローラーの[AcceptVerbs(HttpVerbs.Post)]で選択した値を取得する必要があります....アイデアをお願いします
MY [AcceptVerbs(HttpVerbs.Post)]のストアドプロシージャがあり、選択したドロップダウン値を使用して、RoleNameのRoleIDをDbに挿入します。
Create Procedure InsertEmplyoee
(
@EmployeeName varchar(50),
@EmployeeEmailId varchar(50),
@EmployeePassword varchar (50),
@GroupName varchar (50)
)
as
begin
insert into EmployeeDetails (EmployeeName,EmployeeEmailId,EmployeePassword,GroupId) values
(@EmployeeName,@EmployeeEmailId,@EmployeePassword,(select GroupId from EmployeeGroup where EmplopyeeRole=@GroupName ))
終わりに行く