Most active topic starters
Admin | ||||
anan | ||||
trangtpbusiness | ||||
hoanghai.esoft | ||||
vulieupro | ||||
piheo94 | ||||
anhtuantmt | ||||
eyanl.31101994 | ||||
nguyenducbac | ||||
thuynt281 |
Top posting users this week
No user |
Top posting users this month
No user |
Most Viewed Topics
Latest topics
» Kiến thức học lập trình C cơ bản hiệu quả cho người mớiby hoanghai.esoft Thu 14 Dec 2017, 3:03 pm
» Stanford tuyển dụng học viên đào tạo thành lập trình viên chuyên nghiệp
by hoanghai.esoft Thu 07 Sep 2017, 5:07 pm
» Dự án CodePlus tuyển thực tập lập trình để đào tạo thành lập trình viên chuyên nghiệp của Stanford
by hoanghai.esoft Thu 07 Sep 2017, 5:04 pm
» Học Tester ở đâu tốt tại hà nội – học xong làm việc ngay
by hoanghai.esoft Wed 19 Jul 2017, 6:27 pm
» Tài khoản thanh toán và tài khoản tiết kiệm nên để bao nhiêu tiền
by vulieupro Wed 21 Jun 2017, 1:05 pm
» Dịch vụ rút tiền mặt thẻ tín dụng có dành cho những người có thu nhập thấp không?
by vulieupro Mon 19 Jun 2017, 11:51 am
» Rút tiền thẻ tín dụng hiệu quả cao vừa nhanh chóng mà không phải nghĩ về chi phí tại Hà Nội :0868552929
by vulieupro Mon 19 Jun 2017, 9:40 am
» Bạn đang quan tâm đến dịch vụ rut tiền từ thẻ tín dụng tại Hà Nội mà không mất công đi lại hãy lien hệ :0868552929
by vulieupro Fri 16 Jun 2017, 3:02 pm
» Bạn đang đau đầu suy nghĩ xem nên rút tiền mặt từ thẻ tín dụng ở đâu vừa tiện lợi mà chi phí lại thấp đặc biệt không mất thời gian đi lại.Hãy liên hệ :0868552929
by vulieupro Thu 15 Jun 2017, 11:16 pm
» Rút tiền mặt từ thẻ tín dụng tại nhà ở Hà Nội siêu rẻ : 0868552929
by vulieupro Thu 15 Jun 2017, 3:15 pm
» Mua sắm nập chàn không lo thanh toán với thẻ tin dụng lien hệ : 0868552929
by vulieupro Wed 14 Jun 2017, 3:21 pm
» Rút tiền thẻ tín dụng nhanh chóng và tiện lợi nhất quận Hoàn Kiếm :0868552929
by vulieupro Tue 13 Jun 2017, 11:39 pm
» Rút tiền từ thẻ tín dụng quận Tây Hồ 0868552929
by vulieupro Mon 12 Jun 2017, 2:23 pm
» Có ai cho rút tiền mặt từ thẻ tín dụng khu Hà Đông không?
by trangtpbusiness Sun 11 Jun 2017, 4:22 pm
» Dịch vụ quẹt thẻ tín dụng rút tiền mặt tại Hà Nội
by vulieupro Sun 11 Jun 2017, 3:32 pm
» thẻ tín dụng dùng sao để không nợ
by quanglinh Mon 05 Jun 2017, 5:01 pm
» Rút tiền thẻ tín dụng chưa bao giờ dễ và nhanh đến thế gọi ngay 0868552929
by trangtpbusiness Thu 01 Jun 2017, 5:16 pm
» Học Android cơ bản tại Stanford tạo nền tảng thành công
by hoanghai.esoft Wed 18 Jan 2017, 2:55 pm
» Lợi ích của việc khám sức khỏe định kỳ đối với người lao động và doanh nghiệp.
by trangtpbusiness Sat 30 Jul 2016, 11:47 am
» Bán buôn thực phẩm sạch, thực phẩm an toàn cho các đại lý tại Hà Nội
by trangtpbusiness Sat 30 Jul 2016, 11:40 am
» Khám bệnh nghề nghiệp và lập hồ sơ vệ sinh lao động ở đâu uy tín
by trangtpbusiness Sat 23 Jul 2016, 11:28 am
Statistics
Diễn Đàn hiện có 269 thành viênChúng ta cùng chào mừng thành viên mới đăng ký: Trần Cương
Tổng số bài viết đã gửi vào diễn đàn là 306 in 199 subjects
o0o_000_o0o
Fri 28 Oct 2011, 10:55 pm by Admin
chán thế tự nhiên ngồi nhìn lại chẳng thấy mình làm đc j ra hồn. thời gian ơi sao mày trôi nhanh vậy tao đã làm đc j đâu
Comments: 1
Similar topics
Tổng Hợp các thủ thuật lập trình asp.net
Trang 1 trong tổng số 1 trang
Tổng Hợp các thủ thuật lập trình asp.net
Tổng hợp các thủ thuật lập trình asp.net
Trong bài viết này tôi sẽ tìm lại và tổng hợp các thủ thuật khi lập trình với asp.net. Có thể nó sẽ giảm bớt công sức khi bạn lập trình. Tôi sẽ chia làm nhiều phần, mỗi phần tôi sẽ post 10 thủ thuật hy vong sẽ giúp ích cho các bạn
1. Kiểm tra FileUpload chỉ có thể là file ảnh
Để tải lên hình ảnh đến máy chủ từ một ứng dụng web Asp.Net, Bạn sử dụng FileUpload. Nhưng bạn chỉ muốn giới hạn chỉ cho upload file ảnh thôi => Sử dụng RegularExpressionValidator như minh họa dưới đây
<asp:FileUpload ID="FileUpload1" runat="server" /> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="FileUpload1" ErrorMessage="Không phải file ảnh" ValidationExpression= "^([0-9a-zA-Z_\-~ :\\])+(.jpg|.JPG|.jpeg|.JPEG|.bmp|.BMP|.gif|.GIF|.png| .PNG)$"> </asp:RegularExpressionValidator>
2. Tạo nhiều QueryString từ Hyperlink NavigateUrl trong GridView
Trong Gridview khi bạn muốn một trường nào đó là liên kết và bạn muốn truyền các QueryString hoặc Parameter để ở trang chuyển tiếp bạn có thể Request được các Parameter này.
- Nếu là trường được convert thành TemplateField bạn dùng như minh họa sau:
<asp:HyperLink ID="HyperLink1" runat="server" Text="View Data" NavigateUrl='<%# String.Format("TestPage.aspx?param1={0}¶m2={1} ¶m3={2}", Eval("Field1"), Eval("Field2"), Eval("Field2")) %>'></asp:HyperLink>
Nếu là HyperLinkField
<asp:HyperLinkField DataNavigateUrlFields="Field1,Field2,Field3" DataNavigateUrlFormatString="TestPage.aspx?param1= {0}¶m2={1}¶m3={2}" Text="View Data" />
3. Giới hạn chỉ nhập số trong Textbox
Để giới hạn khi người dùng chỉ có thể nhập ký tự số (số chứng minh thư chẳng hạn) trong textbox bạn có thể dùng FilteredTextBoxExtender AjaxControl toolkit như sau:
<asp:TextBox ID="txtCMT" Width="50px" runat="server" /> <cc1:FilteredTextBoxExtender ID="ftbeCMT" runat="server" Enabled="True" FilterType="Numbers" TargetControlID="txtCMT" />
Nếu không dùng ajax bạn cần viết hàm javascript như sau:
function onlyNumbers(evt) { var e = event || evt; var charCode = e.which || e.keyCode; if (charCode > 31 && (charCode < 48 || charCode > 57)) return false; return true; }
Trong Textbox bạn sửa lại thành:
<asp:TextBox ID="txtCMT" runat="server" onkeypress="return onlyNumbers();" />
4. Tính số ngày, tháng, năm giữa hai mốc thời gian
Tham khảo ví dụ sau
DateTime date1 = Convert.ToDateTime("2008/01/01"); DateTime date2 = Convert.ToDateTime("2010/12/31"); TimeSpan timespan = date2.Subtract(date1); int intDays = timespan.Days; double intMonths = Math.Floor(intDays / 30.0); double intYears = Math.Floor(intDays / 365.0); Response.Write("Số ngày : " + intDays.ToString()); Response.Write("Số tháng : " + intMonths.ToString()); Response.Write("Số năm : " + intYears.ToString());
5. Thêm điều kiểm xác nhận xóa/sửa trong gridview
Trong gridview nếu bạn muốn có thêm cột cho phép người dùng chọn bản ghi để xóa, Bạn có thể thêm cột và convert thành TemplateField và khi người dùng click chọn xóa bạn có yêu cầu xác nhận thao tác xóa này. Bạn xem minh họa sau
<asp:TemplateField HeaderText="Xóa"> <ItemTemplate> <asp:LinkButton ID="lbtDelete" runat="server" OnClientClick="return confirm('Bạn có chắc chắn xóa không?')" onclick="lbtDelete_Click"><img src="Images/Xoa.jpg" border="0" /></asp:LinkButton> </ItemTemplate> </asp:TemplateField>
Hoặc bạn cũng có thể code bằng C# trong hàm RowDataBound của gridview như sau:
if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.Cells[1].HasControls()) { LinkButton lbtDelete= ((LinkButton)e.Row.Cells[1].Controls[0]); lbtDelete.Attributes.Add("onclick", "return confirm('Bạn có chắc chắn xóa không?');"); } }
//Chú ý là Cell bắt đầu từ 0. //if (e.Row.Cells[1].HasControls()) Sẽ kiểm tra Cells[1] có tồn tại hay không
6. Sử dụng nhiều Web.Config trong ứng dụng Asp.Net
Nếu bạn muốn sử dụng nhiều file web.config trong ứng dụng của bạn (Minh họa rất rõ nếu bạn đã cài Forum yetanotherforum Bạn sẽ thấy các thông số được lưu ở file db.config, app.config, ...). Ví dụ bạn muốn lưu riêng các thông số kết nối Database, các thông số về cấu hình ứng dụng, ... ra một file web.config. Bạn tham khảo ví dụ sau:
- Tạo file condb.config nội dung như sau:
<appSettings> <add key="TestConnect" value="data source=.\SQL2005;initial catalog=MyDatabase;User ID=sa; Password=***"/> </appSettings>
- Trong file web.config tại thẻ appSettings bạn trỏ đến file condb.config như sau:
<appSettings> <appSettings file="condb.config"> </appSettings>
Giờ bạn muốn lấy các thông số kết nối này bạn in thử giá trị của nó như sau:
Response.Write(ConfigurationManager.AppSettings.Ge t("TestConnect"));
Tương tự như vậy bạn có thể tạo các file *.config khác để lưu các thông số cấu hình ứng dụng khác
7. Bắt sự kiện phím Enter.
Giả sử bạn có Form tìm kiếm và bạn muốn khi nhập dữ liệu ở Textbox và nhấn phím Enter thì sự kiện onclick lên nút Button được thực hiện bạn viết hàm javascript như sau:
function doClick(buttonName, e) { var key; if (window.event) key = window.event.keyCode; //IE else key = e.which; //firefox if (key == 13) { var btn = document.getElementById(buttonName); if (btn != null) { btn.click(); event.keyCode = 0 } } } </script>
Trong code C# bạn muốn khi bạn nhấn Enter tác dụng với control nào bạn dùng như ví dụ sau:
txtTuKhoa.Attributes.Add("onKeyPress", "doClick('" + btnTim.ClientID + "',event)");
Nguồn ASPVN
Trong bài viết này tôi sẽ tìm lại và tổng hợp các thủ thuật khi lập trình với asp.net. Có thể nó sẽ giảm bớt công sức khi bạn lập trình. Tôi sẽ chia làm nhiều phần, mỗi phần tôi sẽ post 10 thủ thuật hy vong sẽ giúp ích cho các bạn
1. Kiểm tra FileUpload chỉ có thể là file ảnh
Để tải lên hình ảnh đến máy chủ từ một ứng dụng web Asp.Net, Bạn sử dụng FileUpload. Nhưng bạn chỉ muốn giới hạn chỉ cho upload file ảnh thôi => Sử dụng RegularExpressionValidator như minh họa dưới đây
<asp:FileUpload ID="FileUpload1" runat="server" /> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="FileUpload1" ErrorMessage="Không phải file ảnh" ValidationExpression= "^([0-9a-zA-Z_\-~ :\\])+(.jpg|.JPG|.jpeg|.JPEG|.bmp|.BMP|.gif|.GIF|.png| .PNG)$"> </asp:RegularExpressionValidator>
2. Tạo nhiều QueryString từ Hyperlink NavigateUrl trong GridView
Trong Gridview khi bạn muốn một trường nào đó là liên kết và bạn muốn truyền các QueryString hoặc Parameter để ở trang chuyển tiếp bạn có thể Request được các Parameter này.
- Nếu là trường được convert thành TemplateField bạn dùng như minh họa sau:
<asp:HyperLink ID="HyperLink1" runat="server" Text="View Data" NavigateUrl='<%# String.Format("TestPage.aspx?param1={0}¶m2={1} ¶m3={2}", Eval("Field1"), Eval("Field2"), Eval("Field2")) %>'></asp:HyperLink>
Nếu là HyperLinkField
<asp:HyperLinkField DataNavigateUrlFields="Field1,Field2,Field3" DataNavigateUrlFormatString="TestPage.aspx?param1= {0}¶m2={1}¶m3={2}" Text="View Data" />
3. Giới hạn chỉ nhập số trong Textbox
Để giới hạn khi người dùng chỉ có thể nhập ký tự số (số chứng minh thư chẳng hạn) trong textbox bạn có thể dùng FilteredTextBoxExtender AjaxControl toolkit như sau:
<asp:TextBox ID="txtCMT" Width="50px" runat="server" /> <cc1:FilteredTextBoxExtender ID="ftbeCMT" runat="server" Enabled="True" FilterType="Numbers" TargetControlID="txtCMT" />
Nếu không dùng ajax bạn cần viết hàm javascript như sau:
function onlyNumbers(evt) { var e = event || evt; var charCode = e.which || e.keyCode; if (charCode > 31 && (charCode < 48 || charCode > 57)) return false; return true; }
Trong Textbox bạn sửa lại thành:
<asp:TextBox ID="txtCMT" runat="server" onkeypress="return onlyNumbers();" />
4. Tính số ngày, tháng, năm giữa hai mốc thời gian
Tham khảo ví dụ sau
DateTime date1 = Convert.ToDateTime("2008/01/01"); DateTime date2 = Convert.ToDateTime("2010/12/31"); TimeSpan timespan = date2.Subtract(date1); int intDays = timespan.Days; double intMonths = Math.Floor(intDays / 30.0); double intYears = Math.Floor(intDays / 365.0); Response.Write("Số ngày : " + intDays.ToString()); Response.Write("Số tháng : " + intMonths.ToString()); Response.Write("Số năm : " + intYears.ToString());
5. Thêm điều kiểm xác nhận xóa/sửa trong gridview
Trong gridview nếu bạn muốn có thêm cột cho phép người dùng chọn bản ghi để xóa, Bạn có thể thêm cột và convert thành TemplateField và khi người dùng click chọn xóa bạn có yêu cầu xác nhận thao tác xóa này. Bạn xem minh họa sau
<asp:TemplateField HeaderText="Xóa"> <ItemTemplate> <asp:LinkButton ID="lbtDelete" runat="server" OnClientClick="return confirm('Bạn có chắc chắn xóa không?')" onclick="lbtDelete_Click"><img src="Images/Xoa.jpg" border="0" /></asp:LinkButton> </ItemTemplate> </asp:TemplateField>
Hoặc bạn cũng có thể code bằng C# trong hàm RowDataBound của gridview như sau:
if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.Cells[1].HasControls()) { LinkButton lbtDelete= ((LinkButton)e.Row.Cells[1].Controls[0]); lbtDelete.Attributes.Add("onclick", "return confirm('Bạn có chắc chắn xóa không?');"); } }
//Chú ý là Cell bắt đầu từ 0. //if (e.Row.Cells[1].HasControls()) Sẽ kiểm tra Cells[1] có tồn tại hay không
6. Sử dụng nhiều Web.Config trong ứng dụng Asp.Net
Nếu bạn muốn sử dụng nhiều file web.config trong ứng dụng của bạn (Minh họa rất rõ nếu bạn đã cài Forum yetanotherforum Bạn sẽ thấy các thông số được lưu ở file db.config, app.config, ...). Ví dụ bạn muốn lưu riêng các thông số kết nối Database, các thông số về cấu hình ứng dụng, ... ra một file web.config. Bạn tham khảo ví dụ sau:
- Tạo file condb.config nội dung như sau:
<appSettings> <add key="TestConnect" value="data source=.\SQL2005;initial catalog=MyDatabase;User ID=sa; Password=***"/> </appSettings>
- Trong file web.config tại thẻ appSettings bạn trỏ đến file condb.config như sau:
<appSettings> <appSettings file="condb.config"> </appSettings>
Giờ bạn muốn lấy các thông số kết nối này bạn in thử giá trị của nó như sau:
Response.Write(ConfigurationManager.AppSettings.Ge t("TestConnect"));
Tương tự như vậy bạn có thể tạo các file *.config khác để lưu các thông số cấu hình ứng dụng khác
7. Bắt sự kiện phím Enter.
Giả sử bạn có Form tìm kiếm và bạn muốn khi nhập dữ liệu ở Textbox và nhấn phím Enter thì sự kiện onclick lên nút Button được thực hiện bạn viết hàm javascript như sau:
function doClick(buttonName, e) { var key; if (window.event) key = window.event.keyCode; //IE else key = e.which; //firefox if (key == 13) { var btn = document.getElementById(buttonName); if (btn != null) { btn.click(); event.keyCode = 0 } } } </script>
Trong code C# bạn muốn khi bạn nhấn Enter tác dụng với control nào bạn dùng như ví dụ sau:
txtTuKhoa.Attributes.Add("onKeyPress", "doClick('" + btnTim.ClientID + "',event)");
Nguồn ASPVN
gacon123- Tổng số bài gửi : 1
Điểm : 3
Cám ơn : 0
Ngày tham gia : 08/09/2011
Similar topics
» TỔNG HỢP CÁC THỦ THUẬT LẬP TRÌNH C#
» tổng hợp giáo trình của học viện bưu chính viễn thông Link [MF]
» Dự án CodePlus tuyển thực tập lập trình để đào tạo thành lập trình viên chuyên nghiệp của Stanford
» tổng hợp giáo trình của học viện bưu chính viễn thông Link [MF]
» Dự án CodePlus tuyển thực tập lập trình để đào tạo thành lập trình viên chuyên nghiệp của Stanford
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết