.


:




:

































 

 

 

 





Web- , (, Microsoft Internet Explorer, Netscape Navigator, Mozilla Firefox .) HTML , , , .

, ASP ASP.NET 1.x. , , , , . , .

ASP.NET 2.0 , HTML , . , , Page , .

 

<%@ Page ie:MasterPageFile="ieMainTemplate.master" opera:MasterPageFile="operaMainTemplate.master " mozilla:MasterPageFile="mozillaMainTemplate.master " %>

 

ASP.NET :

%WINDIT%\Microsoft.NET\Framework\\CONFIG\Browsers

WEB-, , , , , , . , , PostgreSQL .

1. - ASP.NET ( , , , Web, - ASP.NET, , lab5).

2. PostgreSQL, NHibernate Fluent NHibernate. :

postgreSQL http://www.postgresql.org/
NHibernate http://sourceforge.net/projects/nhibernate/
Fluent NHibernate http://fluentnhibernate.org/

:

- Npgsql2.0.10-bin-ms.net.zip

- NHibernate-2.1.2.GA-bin.zip

- fluentnhibernate-1.1.zip

:

Npgsql.dll
Mono.Security.dll
NHibernate.dll
Antlr3.Runtime.dll
Iesi.Collections.dll
log4net.dll
Castle.DynamicProxy2.dll
Castle.Core.dll
NHibernate.ByteCode.Castle.dll
FluentNHibernate.dll

Npgsql.dll, NHibernate.dll, FluentNHibernate.dll NHibernate.ByteCode.Castle ( , , ).

3. dao, domain, img, mapping. dao, domain, mapping DAO, , img .

dao, domain, img, mapping 5.1.

5.1 dao, domain, img, mapping

4. , WEB-. , , Total Commander.

dao dao WEB-. 5.2.

5.2 dao dao WEB-

domain mapping WEB-.

, ( dao , , dao WEB- ). domain mapping. . 5.3.

5.3

, WEB-, , , , .

5. WEB-. . , . , , ( ) . , , .

6. WEB-. , , , Web, , , University .

7. University ( University, , ( )). , html ASP.NET. , , , html- . :

 

<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

</asp:ContentPlaceHolder>

 

, , .

.

8. University ( , , ). .

9. , Table HTML. header ( ), , footer( ). .

10. header ( ) . 2, 1. , , , <tr> <td>.

:

 

<table style="width:100%;">

<tr>

<td>

</td>

<td>

</td>

</tr>

</table>

 

Image , Label . Image , img. URL ( ImageUrl). Text Label WEB-. :

 

<table style="width:100%;" cellpadding="0" cellspacing="0">

<tr>

<td width="200">

<asp:Image ID="Image1" runat="server" ImageUrl="~/img/1.png" />

</td>

<td align="center" bgcolor="#8B0000">

<asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Size="20pt"

Text=" "

ForeColor="#EEC900">

</asp:Label>

</td>

</tr>

</table>

 

, , , .

11. , . . , , , , , , . , . Menu . ContentPlaceHolder, . :

 

<table style="width:100%;">

<tr>

<td width="200" valign="top">

<table style="width:100%;">

<tr>

<td align="left">

<asp:Label ID="Label2" runat="server" Text=""

Font-Size="16pt" ForeColor="Maroon">

</asp:Label>

</td>

</tr>

<tr>

<td>

<asp:Menu ID="Menu1" runat="server"

Font-Size="16pt" ForeColor="Maroon">

<Items>

<asp:MenuItem Text="" Value="">

</asp:MenuItem>

<asp:MenuItem Text="" Value="">

</asp:MenuItem>

</Items>

</asp:Menu>

</td>

</tr>

</table>

</td>

<td>

<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

</asp:ContentPlaceHolder>

</td>

</tr>

</table>

 

, , Label Menu, .

12. , . . , . :

 

<table style="width:100%;">

<tr>

<td>

<hr style="color: #800000" />

</td>

</tr>

<tr>

<td align="center">

<asp:Label ID="Label3" runat="server"

Text="OrIoN (c)" ForeColor="Maroon">

</asp:Label>

</td>

</tr>

</table>

 

, 5.4.

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="University.master.cs" Inherits="lab5.University" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title> </title>

</head>

<body>

<form id="form1" runat="server">

<table style="width:100%;" cellpadding="0" cellspacing="0">

<tr>

<td width="200">

<asp:Image ID="Image1" runat="server" ImageUrl="~/img/1.png" />

</td>

<td align="center" bgcolor="#8B0000">

<asp:Label ID="Label1" runat="server"

Font-Bold="True" Font-Size="20pt"

Text=" "

ForeColor="#EEC900">

</asp:Label>

</td>

</tr>

</table>

<table style="width:100%;">

<tr>

<td width="200" valign="top">

<table style="width:100%;">

<tr>

<td align="left">

<asp:Label ID="Label2" runat="server"

Text="" Font-Size="16pt"

ForeColor="Maroon">

</asp:Label>

</td>

</tr>

<tr>

<td>

<asp:Menu ID="Menu1" runat="server"

Font-Size="16pt" ForeColor="Maroon">

<Items>

<asp:MenuItem Text="" Value="">

</asp:MenuItem>

<asp:MenuItem Text=""

Value="">

</asp:MenuItem>

</Items>

</asp:Menu>

</td>

</tr>

</table>

</td>

<td>

<asp:ContentPlaceHolder ID="ContentPlaceHolder1"

runat="server">

</asp:ContentPlaceHolder>

</td>

</tr>

</table>

<table style="width:100%;">

<tr>

<td>

<hr style="color: #800000" />

</td>

</tr>

<tr>

<td align="center">

<asp:Label ID="Label3" runat="server" Text="OrIoN (c)"

ForeColor="Maroon"></asp:Label>

</td>

</tr>

</table>

</form>

</body>

</html>

5.4

13. NHibernate. C# . ASP.NET # , , . University.Master, C# University.Master.cs. Page_Load, :

 

private ISessionFactory factory;

private ISession session;

 

:

 

//

private ISession openSession(String host, int port, String database,

String user, String passwd)

{

ISession session = null;

//

Assembly mappingsAssemly = Assembly.GetExecutingAssembly();

if (factory == null)

{

//

factory = Fluently.Configure()

.Database(PostgreSQLConfiguration

.PostgreSQL82.ConnectionString(c => c

.Host(host)

.Port(port)

.Database(database)

.Username(user)

.Password(passwd)))

.Mappings(m => m.FluentMappings

.AddFromAssembly(mappingsAssemly))

.ExposeConfiguration(BuildSchema)

.BuildSessionFactory();

}

//

session = factory.OpenSession();

return session;

}

 

//

private static void BuildSchema(Configuration config)

{

//new SchemaExport(config).Create(false, true);

}

Page_Init:

 

protected void Page_Init(object sender, EventArgs e)

{

session = openSession("localhost", 5432,

"university", "postgres", "111111");

Session["hbmsession"] = session;

}

 

Page_Init , NHibernate, Session , HTTP- . Page_Init, , . , Web.config.

.

14. , . , , .

Default.aspx , .

Default.aspx . :

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="lab5._Default"%>

 

<asp:Content> Default.aspx :

 

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"

runat="server">

</asp:Content>

 

:

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="lab5._Default" MasterPageFile="~/University.Master"%>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"

runat="server">

</asp:Content>

 

<html>, <body>, <form> . , .

15. Default.aspx. . , , . , , .

, . , GridView . . , , , . GridView , :

RowEditing , ;

RowUpdating Update ;

RowDeleting Delete;

RowCancelingEdit ;

RowCommand , ;

PageIndexChanging GridView, ;

Default.aspx :

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="lab5._Default" MasterPageFile="~/University.Master"%>

 

<asp:Content ID="Content1"

ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<table align="center">

<! -->

<tr align="center">

<td>

<asp:Label ID="Label4" runat="server" Text=" "

Font-Size="20pt" ForeColor="Maroon" Font-Bold="True"/>

</td>

</tr>

<!-, -->

<tr>

<td>

<asp:GridView ID="GridView1" runat="server"

AutoGenerateColumns="false"

ShowFooter="true" ShowHeader="true"

AllowPaging="true" PageSize="10"

onrowdeleting="GridView1_RowDeleting" Font-Size="14pt"

onrowediting="GridView1_RowEditing"

onrowcancelingedit="GridView1_RowCancelingEdit"

onpageindexchanging="GridView1_PageIndexChanging"

HorizontalAlign="Center"

onrowupdating="GridView1_RowUpdating"

onrowcommand="GridView1_RowCommand" >

<Columns>

<!- -->

<asp:TemplateField HeaderText=" "

ItemStyle-Width="200">

<ItemTemplate>

<asp:Label id="myLabel1" runat="server"

Text='<%# Bind("GroupName")%>' />

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="myTextBox1" runat="server" Width="200"

Text='<%# Bind("GroupName") %>'/>

</EditItemTemplate>

<FooterTemplate>

<asp:TextBox ID="myFooterTextBox1" runat="server"

Width="200" Text='<%# Bind("GroupName") %>' />

</FooterTemplate>

</asp:TemplateField>

<!- -->

<asp:TemplateField HeaderText=" "

ItemStyle-Width="300">

<ItemTemplate>

<asp:Label id="myLabel2" runat="server"

Text='<%# Bind("CuratorName")%>' />

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="myTextBox2" runat="server" Width="300"

Text='<%# Bind("CuratorName") %>'/>

</EditItemTemplate>

<FooterTemplate>

<asp:TextBox ID="myFooterTextBox2" runat="server" Width="300"

Text='<%# Bind("CuratorName") %>' />

</FooterTemplate>

</asp:TemplateField>

<!- -->

<asp:TemplateField HeaderText=" "

ItemStyle-Width="300">

<ItemTemplate>

<asp:Label id="myLabel3" runat="server"

Text='<%# Bind("HeadmanName")%>' />

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="myTextBox3" runat="server" Width="300"

Text='<%# Bind("HeadmanName") %>'/>

</EditItemTemplate>

<FooterTemplate>

<asp:TextBox ID="myFooterTextBox3" runat="server"

Width="300" Text='<%# Bind("HeadmanName") %>' />

</FooterTemplate>

</asp:TemplateField>

<!- -->

<asp:TemplateField HeaderText="" ItemStyle-

HorizontalAlign="Center" FooterStyle-HorizontalAlign="Center">

<ItemTemplate>

<asp:ImageButton ID="ibEdit" runat="server"

CommandName="Edit" Text="Edit"

ImageUrl="~/img/6.png" />

<asp:ImageButton ID="ibDelete" runat="server"

CommandName="Delete" Text="Delete"

ImageUrl="~/img/3.png" />

<asp:ImageButton ID="lbSelect" runat="server"

CommandName="Select"

ImageUrl="~/img/4.png"

CommandArgument='<%# Container.DataItemIndex %>'/>

</ItemTemplate>

<EditItemTemplate>

<asp:ImageButton ID="ibUpdate" runat="server"

CommandName="Update" Text="Update"

ImageUrl="~/img/5.png" />

<asp:ImageButton ID="ibCancel" runat="server"

CommandName="Cancel" Text="Cancel"

ImageUrl="~/img/7.png" />

</EditItemTemplate>

<FooterTemplate>

<asp:ImageButton ID="ibInsert" runat="server"

CommandName="Insert" OnClick="ibInsert_Click"

ImageUrl="~/img/2.png" />

</FooterTemplate>

</asp:TemplateField>

</Columns>

<!- -->

<EmptyDataTemplate>

<table border="1" cellpadding="0" cellspacing="0">

<tr>

<td width="200" align="center"> </td>

<td width="300" align="center"> </td>

<td width="300" align="center"> </td>

<td></td>

</tr>

<tr>

<td>

<asp:TextBox ID="emptyGroupNameTextBox" runat="server"

Width="200"/>

</td>

<td>

<asp:TextBox ID="emptyCuratorNameTextBox" runat="server"

Width="300"/>

</td>

<td>

<asp:TextBox ID="emptyHeadmanNameTextBox" runat="server"

Width="300"/>

</td>

<td align="center">

<asp:ImageButton ID="emptyImageButton" runat="server"

ImageUrl="~/img/2.png"

OnClick="ibInsertInEmpty_Click"/>

</td>

</tr>

</table>

</EmptyDataTemplate>

<PagerStyle HorizontalAlign ="Center" />

</asp:GridView>

</td>

</tr>

</table>

</asp:Content>

 

, <Columns>. . , . , . , .

GridView <EmptyDataTemplate>.

img.

GridView.

16. C# Default.aspx. , NHibernate, NHibernate c Session.

Page_Prerender Page_Load:

 

protected void Page_Prerender(object sender, EventArgs e)

{

ISession session = (ISession)Session["hbmsession"];

DAOFactory factory = new NHibernateDAOFactory(session);

IGroupDAO groupDAO = factory.getGroupDAO();

List<Group> groups = groupDAO.GetAll();

GridView1.DataSource = groups;

GridView1.DataBind();

}

 

Session NHibernate.

17. . GridView , .

:

 

//

protected void ibInsert_Click(object sender, EventArgs e)

{

//

string s1 =

((TextBox)GridView1.FooterRow.FindControl("MyFooterTextBox1")).Text;

string s2 =

((TextBox)GridView1.FooterRow.FindControl("MyFooterTextBox2")).Text;

string s3 =

((TextBox)GridView1.FooterRow.FindControl("MyFooterTextBox3")).Text;

//

Group group = new Group();

group.GroupName = s1;

group.CuratorName = s2;

group.HeadmanName = s3;

// DAO

ISession session = (ISession)Session["hbmsession"];

DAOFactory factory = new NHibernateDAOFactory(session);

IGroupDAO groupDAO = factory.getGroupDAO();

groupDAO.SaveOrUpdate(group);

Response.Redirect(HttpContext.Current.Request.Url.ToString());

}

 

// GridView

protected void ibInsertInEmpty_Click(object sender, EventArgs e)

{

var parent = ((Control)sender).Parent;

var groupNameTextBox = parent

.FindControl("emptyGroupNameTextBox") as TextBox;

var curatorNameTextBox = parent

.FindControl("emptyCuratorNameTextBox") as TextBox;

var headmanNameTextBox = parent

.FindControl("emptyHeadmanNameTextBox") as TextBox;

Group group = new Group();

group.GroupName = groupNameTextBox.Text;

group.CuratorName = curatorNameTextBox.Text;

group.HeadmanName = headmanNameTextBox.Text;

ISession session = (ISession)Session["hbmsession"];

DAOFactory factory = new NHibernateDAOFactory(session);

IGroupDAO groupDAO = factory.getGroupDAO();

groupDAO.SaveOrUpdate(group);

Response.Redirect(HttpContext.Current.Request.Url.ToString());

}

 

18. . RowDeleting, :

 

//

protected void GridView1_RowDeleting(object sender,

GridViewDeleteEventArgs e)

{

//

int index = e.RowIndex;

GridViewRow row = GridView1.Rows[index];

//

string key = ((Label)(row.Cells[0].FindControl("myLabel1"))).Text;

// DAO

ISession hbmSession = (ISession)Session["hbmsession"];

DAOFactory factory = new NHibernateDAOFactory(hbmSession);

IGroupDAO groupDAO = factory.getGroupDAO();

//

Group group = groupDAO.getGroupByName(key);

//

if (group!= null)

{

groupDAO.Delete(group);

}

Response.Redirect(HttpContext.Current.Request.Url.ToString());

}

 

19. . GridView . , . , . :

 

//

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

{

//

int index = e.NewEditIndex;

GridViewRow row = GridView1.Rows[index];

// GridView

string oldGroupName = ((Label)(row.Cells[0].FindControl("myLabel1"))).Text;

// ViewState

ViewState["oldGroupName"] = oldGroupName;

GridView1.EditIndex = index;

GridView1.ShowFooter = false;

GridView1.DataBind();

}

 

//

protected void GridView1_RowCancelingEdit(object sender,

GridViewCancelEditEventArgs e)

{

GridView1.EditIndex = -1;

GridView1.ShowFooter = true;

GridView1.DataBind();

}

 

//

protected void GridView1_RowUpdating(object sender,

GridViewUpdateEventArgs e)

{

int index = e.RowIndex;

GridViewRow row = GridView1.Rows[index];

string newGroupName =

((TextBox)(row.Cells[0].FindControl("myTextBox1"))).Text;

string newCuratorName =

((TextBox)(row.Cells[1].FindControl("myTextBox2"))).Text;

string newHeadmanName =

((TextBox)(row.Cells[2].FindControl("myTextBox3"))).Text;

string oldGroupName = (string)ViewState["oldGroupName"];

// DAO

ISession hbmSession = (ISession)Session["hbmsession"];

DAOFactory factory = new NHibernateDAOFactory(hbmSession);

IGroupDAO groupDAO = factory.getGroupDAO();

//

Group group = groupDAO.getGroupByName(oldGroupName);

group.GroupName = newGroupName;

group.CuratorName = newCuratorName;

group.HeadmanName = newHeadmanName;

groupDAO.SaveOrUpdate(group);

GridView1.EditIndex = -1;

GridView1.ShowFooter = true;

GridView1.DataBind();

}

 

20. . . :

 

//

protected void GridView1_RowCommand(object sender,

GridViewCommandEventArgs e)

{

if (e.CommandName == "Select")

{

int index = Convert.ToInt32(e.CommandArgument);

GridViewRow row = GridView1.Rows[index];

string groupName = ((Label)(row.Cells[0].FindControl("myLabel1"))).Text;

Session["keyGroupName"] = groupName;

Response.Redirect("StudentForm.aspx");

}

}

 

21. GridView , , . :

 

//

protected void GridView1_PageIndexChanging(object sender,

GridViewPageEventArgs e)

{

GridView1.PageIndex = e.NewPageIndex;

GridView1.EditIndex = -1;

GridView1.ShowFooter = true;

GridView1.DataBind();

}

 

WEB- 5.5.

5.5 WEB-

. .

22. WEB-, ASP.NET. WEB- , , , Web Web Form. WEB-, StudentForm .

23. WEB- StudentForm . , , WEB- University. WEB- StudentForm :

 

<%@ Page Language="C#" AutoEventWireup="true"

CodeBehind="StudentForm.aspx.cs" Inherits="lab5.StudentForm"

MasterPageFile="~/University.Master"%>

 

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"

runat="server">

 

</asp:Content>

 

24. WEB-. . Table. Table HTML StudentForm. . Label. Label , . GridView.

StudentForm :

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="StudentForm.aspx.cs" Inherits="lab5.StudentForm" MasterPageFile="~/University.Master"%>

 

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"

runat="server">

<table style="width:100%;">

<tr align="center">

<td>

<asp:Label ID="Label4" runat="server"

Text=" "

Font-Bold="True" Font-Size="20pt" ForeColor="Maroon">

</asp:Label>

<asp:Label ID="Label5" runat="server" Font-Bold="True"

Font-Size="20pt" ForeColor="Maroon">

</asp:Label>

</td>

</tr>

<tr>

<td>

<asp:GridView ID="GridView1" runat="server"

AutoGenerateColumns="false"

ShowFooter="true" ShowHeader="true"

AllowPaging="true" PageSize="10"

Font-Size="14pt" HorizontalAlign="Center"

onrowcancelingedit="GridView1_RowCancelingEdit"

onrowdeleting="GridView1_RowDeleting"

onrowediting="GridView1_RowEditing"

onrowupdating="GridView1_RowUpdating"

onpageindexchanging="GridView1_PageIndexChanging">

<Columns>

<asp:TemplateField HeaderText=" "

ItemStyle-Width="250">

<ItemTemplate>

<asp:Label id="myLabel1" runat="server"

Text='<%# Bind("FirstName")%>' />

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="myTextBox1" runat="server" Width="250"

Text='<%# Bind("FirstName") %>'/>

</EditItemTemplate>

<FooterTemplate>

<asp:TextBox ID="myFooterTextBox1" runat="server"

Width="250" Text='<%# Bind("FirstName") %>' />

</FooterTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText=" "

ItemStyle-Width="250">

<ItemTemplate>

<asp:Label id="myLabel2" runat="server"

Text='<%# Bind("LastName")%>' />

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="myTextBox2" runat="server" Width="250"

Text='<%# Bind("LastName") %>'/>

</EditItemTemplate>

<FooterTemplate>

<asp:TextBox ID="myFooterTextBox2" runat="server"

Width="250" Text='<%# Bind("LastName") %>' />

</FooterTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText="" ItemStyle-Width="50">

<ItemTemplate>

<asp:Label id="myLabel3" runat="server"

Text='<%# Bind("Sex")%>' />

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="myTextBox3" runat="server" Width="50"

Text='<%# Bind("Sex") %>'/>

</EditItemTemplate>

<FooterTemplate>

<asp:TextBox ID="myFooterTextBox3" runat="server"

Width="50" Text='<%# Bind("Sex") %>' />

</FooterTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText=" "

ItemStyle-Width="100">

<ItemTemplate>

<asp:Label id="myLabel4" runat="server"

Text='<%# Bind("Year")%>' />

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="myTextBox4" runat="server" Width="100"

Text='<%# Bind("Year") %>'/>

</EditItemTemplate>

<FooterTemplate>

<asp:TextBox ID="myFooterTextBox4" runat="server"

Width="100" Text='<%# Bind("Year") %>' />

</FooterTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText=""

ItemStyle-HorizontalAlign="Center"

FooterStyle-HorizontalAlign="Center">

<ItemTemplate>

<asp:ImageButton ID="ibEdit" runat="server"

CommandName="Edit" Text="Edit" ImageUrl="~/img/6.png"/>

<asp:ImageButton ID="ibDelete" runat="server"

CommandName="Delete" Text="Delete"

ImageUrl="~/img/3.png" />

</ItemTemplate>

<EditItemTemplate>

<asp:ImageButton ID="ibUpdate" runat="server"

CommandName="Update" Text="Update"

ImageUrl="~/img/5.png" />

<asp:ImageButton ID="ibCancel" runat="server"

CommandName="Cancel" Text="Cancel"

ImageUrl="~/img/7.png" />

</EditItemTemplate>

<FooterTemplate>

<asp:ImageButton ID="ibInsert" runat="server"

CommandName="Insert" OnClick="ibInsert_Click"

ImageUrl="~/img/2.png" />

</FooterTemplate>

</asp:TemplateField>

</Columns>

<EmptyDataTemplate>

<table border="1" cellpadding="0" cellspacing="0">

<tr>

<td width="250" align="center">

</td>

<td width="250" align="center">

</td>

<td width="50" align="center">

</td>

<td width="100" align="center">

</td>

<td>

</td>

</tr>

<tr>

<td>

<asp:TextBox ID="emptyFirstNameTextBox" runat="server"

Width="250"/>

</td>

<td>

<asp:TextBox ID="emptyLastNameTextBox" runat="server"

Width="250"/>

</td>

<td>

<asp:TextBox ID="emptySexTextBox" runat="server"

Width="50"/>

</td>

<td>

<asp:TextBox ID="emptyYearTextBox" runat="server"

Width="100"/>

</td>

<td align="center">

<asp:ImageButton ID="emptyImageButton" runat="server"

ImageUrl="~/img/2.png"

OnClick="ibInsertInEmpty_Click"/>

</td>

</tr>

</table>

</EmptyDataTemplate>

<PagerStyle HorizontalAlign ="Center" />

</asp:GridView>

</td>

</tr>

 

</table>

</asp:Content>

 

, , , .

25. , . C# StudentForm. . Page_Prerender. :

 

protected void Page_Prerender(object sender, EventArgs e)

{

string keyGroup = (string)Session["keyGroupName"];

Label5.Text = keyGroup;

ISession session = (ISession)Session["hbmsession"];

DAOFactory factory = new NHibernateDAOFactory(session);

IGroupDAO groupDAO = factory.getGroupDAO();

IList<Student> students = groupDAO.getAllStudentOfGroup(keyGroup);

GridView1.DataSource = students;

GridView1.DataBind();

}

 

26. . , :

 

protected void ibInsert_Click(object sender, EventArgs e)

{

string keyGroup = (string)Session["keyGroupName"];

//

string s1 =

((TextBox)GridView1.FooterRow.FindControl("MyFooterTextBox1")).Text;

string s2 =

((TextBox)GridView1.FooterRow.FindControl("MyFooterTextBox2")).Text;

string s3 =

((TextBox)GridView1.FooterRow.FindControl("MyFooterTextBox3")).Text;

string s4 =

((TextBox)GridView1.FooterRow.FindControl("MyFooterTextBox4")).Text;

 

//

ISession session = (ISession)Session["hbmsession"];

DAOFactory factory = new NHibernateDAOFactory(session);

IGroupDAO groupDAO = factory.getGroupDAO();

Group group = groupDAO.getGroupByName(keyGroup);

IStudentDAO studentDAO = factory.getStudentDAO();

//

Student student = new Student();

student.FirstName = s1;

student.LastName = s2;

student.Sex = s3[0];

student.Year = Convert.ToInt32(s4);

student.Group = group;

group.StudentList.Add(student);

//

studentDAO.SaveOrUpdate(student);

Response.Redirect(HttpContext.Current.Request.Url.ToString());

}

 

protected void ibInsertInEmpty_Click(object sender, EventArgs e)

{

string keyGroup = (string)Session["keyGroupName"];

//

var parent = ((Control)sender).Parent;

var firstNameTextBox = parent

.FindControl("emptyFirstNameTextBox") as TextBox;

var lastNameTextBox = parent

.FindControl("emptyLastNameTextBox") as TextBox;

var sexTextBox = parent.FindControl("emptySexTextBox") as TextBox;

var yearTextBox = parent.FindControl("emptyYearTextBox") as TextBox;

//

ISession session = (ISession)Session["hbmsession"];

DAOFactory factory = new NHibernateDAOFactory(session);

IGroupDAO groupDAO = factory.getGroupDAO();

Group group = groupDAO.getGroupByName(keyGroup);

IStudentDAO studentDAO = factory.getStudentDAO();

//

Student student = new Student();

student.FirstName = firstNameTextBox.Text;

student.LastName = lastNameTextBox.Text;

student.Sex = sexTextBox.Text[0];

student.Year = Convert.ToInt32(yearTextBox.Text);

student.Group = group;

group.StudentList.Add(student);

//

studentDAO.SaveOrUpdate(student);

Response.Redirect(HttpContext.Current.Request.Url.ToString());

}

 

27. . :

 

//

protected void GridView1_RowDeleting(object sender,

GridViewDeleteEventArgs e)

{

string keyGroup = (string)Session["keyGroupName"];

//

int index = e.RowIndex;

GridViewRow row = GridView1.Rows[index];

//

string firstName = ((Label)(row.Cells[0].FindControl("myLabel1"))).Text;

string lastName = ((Label)(row.Cells[1].FindControl("myLabel2"))).Text;

ISession hbmSession = (ISession)Session["hbmsession"];

DAOFactory factory = new NHibernateDAOFactory(hbmSession);

IStudentDAO studentDAO = factory.getStudentDAO();

Student student =

studentDAO.getStudentByGroupFirstNameAndLastName(keyGroup, firstName,

lastName);

//

if (student!= null)

{

student.Group.StudentList.Remove(student);

studentDAO.Delete(student);

}

Response.Redirect(HttpContext.Current.Request.Url.ToString());

}

 

28. , , , , :

 

//

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

{

//

int index = e.NewEditIndex;

GridViewRow row = GridView1.Rows[index];

// GridView

string oldFirstName = ((Label)(row.Cells[0].FindControl("myLabel1"))).Text;

string oldLastName = ((Label)(row.Cells[1].FindControl("myLabel2"))).Text;

// ViewState

ViewState["oldFirstName"] = oldFirstName;

ViewState["oldLastName"] = oldLastName;

GridView1.EditIndex = index;

GridView1.ShowFooter = false;

GridView1.DataBind();

}

 

//

protected void GridView1_RowCancelingEdit(object sender,

GridViewCancelEditEventArgs e)

{

GridView1.EditIndex = -1;

GridView1.ShowFooter = true;

GridView1.DataBind();

}

 

//

protected void GridView1_RowUpdating(object sender,

GridViewUpdateEventArgs e)

{

string keyGroup = (string)Session["keyGroupName"];

int index = e.RowIndex;

GridViewRow row = GridView1.Rows[index];

string newFirstName =

((TextBox)(row.Cells[0].FindControl("myTextBox1"))).Text;

string newLastName =

((TextBox)(row.Cells[1].FindControl("myTextBox2"))).Text;

string newSex = ((TextBox)(row.Cells[2].FindControl("myTextBox3"))).Text;

string newYear = ((TextBox)(row.Cells[2].FindControl("myTextBox4"))).Text;

string oldFirstName = (string)ViewState["oldFirstName"];

string oldLastName = (string)ViewState["oldLastName"];

// DAO

ISession hbmSession = (ISession)Session["hbmsession"];

DAOFactory factory = new NHibernateDAOFactory(hbmSession);

IStudentDAO studentDAO = factory.getStudentDAO();

//

Student student =

studentDAO.getStudentByGroupFirstNameAndLastName(keyGroup, oldFirstName,

oldLastName);

student.FirstName = newFirstName;

student.LastName = newLastName;

student.Sex = newSex[0];

student.Year = Convert.ToInt32(newYear);

studentDAO.SaveOrUpdate(student);

GridView1.EditIndex = -1;

GridView1.ShowFooter = true;

GridView1.DataBind();

}

 

29. GridView :

 

protected void GridView1_PageIndexChanging(object sender,

GridViewPageEventArgs e)

{

GridView1.PageIndex = e.NewPageIndex;

GridView1.EditIndex = -1;

GridView1.ShowFooter = true;

GridView1.DataBind();

}

 

5.6.

5.6 WEB-

WEB-, , 5.1. . .

5.1

  (, )
  (, )
  (, )
  (, )
  (, )
  (, )
  (, )
  (, )
  (, )

 

- ;

- ;

- ;

- ;

- ( , );

- .

1. ?

2. ?

3. ASP.NET?

4. ?

5. ?


 

6 6

. Unit Testing Framework Microsoft.





:


: 2016-11-24; !; : 330 |


:

:

- , - .
==> ...

1821 - | 1734 -


© 2015-2024 lektsii.org - -

: 0.926 .