1. ASP.NET MVC 5 Hello World
  2. ASP.NET MVC 5 Create Shared Layout Razor & ViewStart
  3. ASP.NET MVC 5 Install Bootstrap
  4. ASP.NET MVC 5 Using DBContext Connect Database
  5. ASP.NET MVC 5 CRUD Tutorial With Example For Beginners
  6. Pagination For Search Results ASP.NET MVC 5
  7. ASP.NET MVC 5 Ajax Pagination For Search Results
  8. ASP.NET MVC 5 Render Sections with RenderSection
  9. ASP.NET MVC 5 Html.Partial & Html.RenderPartial
  10. ASP.NET MVC 5 Html.Action and Html.RenderAction
  11. ASP.NET MVC 5 LinQ to SQL
  12. ASP.NET MVC 5 FORM VALIDATION
  13. ASP.NET MVC 5 Partial View with Ajax Form
  14. ASP.NET MVC 5 Login and Register
  15. ASP.NET MVC 5 Repository Pattern
  16. ASP.NET MVC 5 Stored Procedure
  17. ASP.NET MVC 5 - Multiple Comment
  18. Build Angular + ASP.NET MVC 5
  19. Build Web API using Angular with ASP.NET MVC5 (Part 1)
  20. Build Web API using Angular with ASP.NET MVC 5 (Part 2)

ASP.NET MVC 5 Html.Partial & Html.RenderPartial

min read

Nhận biết giữa Html.Partial và Html.RenderPartial, trong bài viết này mình chia sẻ cách thức hoạt động của chúng trong ASP.NET MVC 5
Trước tiên giả sử mình đã có một model User như sau:

//Models/User.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace MVC5_HelloWorld.Models
{
    public class User
    {
        [Key, Column(Order = 1)]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int idUser { get; set; }

        public string Username { get; set; }

        public string Password { get; set; }

        public int Lever { get; set; }

    }
}

Tiếp theo ta hãy cùng phân biệt chúng như sau: Html.Partial and Html.RenderPartial nó tướng đối giống nhau. Chỉ khác nhau ở chổ một cách thức gọi chúng mà thôi, điều trả về chuổi html

+ Html.Partial: @Html.Partial("_MenuWebsite") hoặc trỏ tới đường dẫn chứa Partial @Html.Partial("~Views/Home/_MenuWebsite")

Ví dụ:

//HomeControlelr.cs
			public ActionResult Index()
			{
				var data = (from s in _db.Users select s).ToList();
				ViewBag.users = data;
				 ViewBag.title = "MVC5 - Hello World";

				return View(data);
			}
			
	//Index.cshtml
	@model List<MVC5_HelloWorld.Models.User>
	<div class="box">
		
			@Html.Partial("_MenuPartial", Model)
	
	</div>
	 
	//_MenuPartial.cshtml 
	<table class="table table-bordered">
		@foreach (var user in ViewBag.users)
		{
			<tr>
			   <td>@user.Username</td>
			   <td>@user.Password</td>
			   @{
					int Lever  = user.Lever;
					if(Lever == 1){
						<td>Admin</td>
					}else{
						<td>Member</td>
					}
			   }
			</tr>
		}
	</table>

+ Html.RenderPartial: tương tự như Partial, nhưng RenderPartial viết trực tiếp vào phản hồi luồng đầu ra thay vì trả về một chuỗi và nó được đặt trong một khối lệnh, bạn có thể nhìn thấy như sau:

@{ 
	Html.RenderPartial("name_partial", data); 
}

Ví dụ:

//HomeControlelr.cs
			public ActionResult Index()
			{
				var data = (from s in _db.Users select s).ToList();
				ViewBag.users = data;
				return View(data);
			}

//Index.cshtml
@model List<MVC5_HelloWorld.Models.User>
@{
   Html.RenderPartial("_MenuRenderPartial", Model);
}

//_MenuRenderPartial.cshtml
@model List<MVC5_HelloWorld.Models.User>
<table class="table table-bordered">
    @foreach (var user in ViewBag.users)
    {
        <tr>
			   <td>@user.Username</td>
			   <td>@user.Password</td>
			   @{
					int Lever  = user.Lever;
					if(Lever == 1){
						<td>Admin</td>
					}else{
						<td>Member</td>
					}
			   }
			</tr>
    }
</table>

 

Tag: ASP.NET MVC
x

Ủng hộ tôi bằng cách click vào quảng cáo. Để tôi có kinh phí tiếp tục phát triển Website!(Support me by clicking on the ad. Let me have the money to continue developing the Website!)