* This page sets the `Layout` to `null` since we will show this as a modal. So, no need to wrap with a layout.
* It uses [abp-modal tag helper](../Tag-Helpers/Modals.md) to simplify creating the modal HTML code. You can use the standard Bootstrap modal code if you prefer it.
**ProductInfoModalModel.cshtml.cs Content:**
```csharp
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace MyProject.Web.Pages.Products
{
public class ProductInfoModalModel : PageModel
{
public string ProductName { get; set; }
public string ProductDescription { get; set; }
public void OnGet()
{
ProductName = "Acme Indestructo Steel Ball";
ProductDescription = "The ACME Indestructo Steel Ball is completely indestructible, there is nothing that can destroy it!";
}
}
}
```
### Defining the Modal Manager
Once you have a modal, you can open it in any page.
First, create an `abp.ModalManager` object by setting the `viewUrl`:
````js
var productInfoModal = new abp.ModalManager({
viewUrl: '/Products/ProductInfoModal'
});
````
### Opening the Modal
Then open the modal whenever you need:
````js
productInfoModal.open();
````
You typically want to open the modal when something happens; For example, when the user clicks a button: