2016-06-11 130 views
-1

我有一个学生页面,它可以让学生插入,删除,更新。我有另一个课程当然会插入,删除,更新。现在我想让学生分配课程。我清楚了吗?它应该在另一个页面中看到吗?你能帮助我吗?实体框架ASP.NET CRUD

+0

你不需要指定联结表,而对于自然联接,你大多需要配置FK关系。为了创建多对多的关系,你应该看到EF教程。 – DevilSuichiro

+0

@ DevilSuichiro我只是不能决定我该怎么做。我正试图让学生分配课程。所以在网站分配过程中可以在学生页面或课程页面做什么或需要新的页面? – yiad

+0

@ DevilSuichiro我有一个学生页面,它可以让学生插入,删除,更新。我有另一个课程当然会插入,删除,更新。现在我想让学生分配课程。我清楚了吗?它应该在另一个页面中看到吗? – yiad

回答

0

可以称为“指定课程”或类似的东西在学生页面上添加一个超链接:

<asp:GridView ID="gvStudents" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:BoundField DataField="Name" /> 
     <asp:BoundField DataField="Surname" /> 
     <asp:HyperLinkField 
      DataNavigateUrlFields="Name,Surname,ID" 
      DataNavigateUrlFormatString="AssignCourses.aspx?Name={0}&Surname={1}&ID={2}" 
      Text="AssignCourses" /> 
    </Columns> 
</asp:GridView> 

点击这个超链接将用户带到一个叫AssignCourses.aspx新页面,并通过查询字符串中的名称,姓氏和ID(或您喜欢的任何其他字段)。

AssignCourses.aspx写代码来显示已经分配给student.Also课程列表,有一个下拉列表上指定课程按钮,所有其他courses.If用户点击使用过程id和学生ID(来自查询字符串)分配学生到课程。从AssignCourses.aspx页面上查询字符串

读值:

string name = Request.QueryString["Name"].ToString(); 
string surname = Request.QueryString["Surname"].ToString(); 
int id = Convert.ToInt32(Request.QueryString["ID"]); 

lblInfo.Text = String.Format("Assign courses for - {0} {1}", name, surname); 

编辑:

如果您使用ASP.NET MVC,你可以添加一个超链接使用Razor语法的AssignCourse视图,如下所示:

@Html.ActionLink("Click here to assign course", "AssignCoursesAction", "PutControllerNameHere", new { id=student.ID }, null) 
+0

谢谢,但asp.net mvc怎么写呢? – yiad

+0

请参阅更新 –