Tải bản đầy đủ (.docx) (2 trang)

Truyền giá trị qua trang khác với phương thức Server.Tranfer (ASP.NET)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (46.34 KB, 2 trang )

Truyền giá trị qua trang khác với phương thức Server.Tranfer (ASP.NET)

ASP.NET validation controls rất hữu dụng để kiểm tra giá trị người dùng nhập vào khi posts back trên
cùng một trang. Nhưng làm thế nào để sử dụng trong các trang khác ?.
Ví dụ bạn có một trang, WebPostAwayA1.aspx với 2 textbox control, bạn sử dụng 2
RequiredFieldValidator control. Bạn muốn chuyển dữ liệu sang một trang thứ 2, WebPostAway2.aspx,
chỉ khi các textbox đã được nhập giá trị
WebPostAwayA1.aspx:
<body>
<form runat=''server''>
<table border=''0''>
<tbody>
<tr>
<td>
<asp:Label id=''Label1'' runat=''server''>First Name:</asp:Label>
</td>
<td>
<asp:TextBox id=''txtFirstName'' runat=''server''></asp:TextBox>
<asp:RequiredFieldValidator id=''rfvFirstName'' runat=''server''
ErrorMessage=''First name is required.''
ControlToValidate=''txtFirstName''></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Label id=''Label2'' runat=''server''>Last Name:</asp:Label>
</td>
<td>
<asp:TextBox id=''txtLastName'' runat=''server''></asp:TextBox>
<asp:RequiredFieldValidator id=''rfvLastName'' runat=''server''
ErrorMessage=''Last name is required.''


ControlToValidate=''txtLastName''></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Button id=''cmdPost'' onclick=''cmdPost_Click''
runat=''server'' Text=''Submit''></asp:Button>
</td>
</tr>
</tbody>
</table>
</form>
</body>
WebPostAwayA1.aspx sẽ chuyển đến WebPostAway2.aspx nếu các giá trị được nhập vào 2 textbox:
void cmdPost_Click(Object src, EventArgs e ) {
if (Page.IsValid) {
Response.Redirect(''WebPostAway2.aspx'');
}
}
Vấn đề là dòng code trên sẽ không truyền giá trị khi redirect sang trang WebPostAway2. Chúng ta sử
dụng Server.Transfer
void cmdPost_Click(Object src, EventArgs e ) {
if (Page.IsValid) {
Server.Transfer(''WebPostAway2.aspx'');
}
}
Trong ASP.NET, Server Tranfer mặc định sẽ không truyền form, query string collections từ một post
back. Mặc dù vậy bạn có thể định tham số thứ 2 của phương thức Tranfer thành True để các giá trị trên

có thể được truyền sanh một trang mới.
void cmdPost_Click(Object src, EventArgs e ) {
if (Page.IsValid) {
Server.Transfer(''WebPostAway2.aspx'', true);
}
}

×