Syncfusion.AspNetMvc.InteractiveChat
34.1.32
Prefix Reserved
dotnet add package Syncfusion.AspNetMvc.InteractiveChat --version 34.1.32
NuGet\Install-Package Syncfusion.AspNetMvc.InteractiveChat -Version 34.1.32
<PackageReference Include="Syncfusion.AspNetMvc.InteractiveChat" Version="34.1.32" />
<PackageVersion Include="Syncfusion.AspNetMvc.InteractiveChat" Version="34.1.32" />
<PackageReference Include="Syncfusion.AspNetMvc.InteractiveChat" />
paket add Syncfusion.AspNetMvc.InteractiveChat --version 34.1.32
#r "nuget: Syncfusion.AspNetMvc.InteractiveChat, 34.1.32"
#:package Syncfusion.AspNetMvc.InteractiveChat@34.1.32
#addin nuget:?package=Syncfusion.AspNetMvc.InteractiveChat&version=34.1.32
#tool nuget:?package=Syncfusion.AspNetMvc.InteractiveChat&version=34.1.32
Syncfusion® ASP.NET MVC InteractiveChat Components
A package including AI AssistView and Chat UI components for building conversational interfaces and AI-powered assistant UIs in ASP.NET MVC applications with real-time messaging and AI integration.
Supported Components
This package includes the following components:
ASP.NET MVC AI AssistView Component
The ASP.NET MVC AI AssistView Component provides a ready-to-use AI chat interface with prompt input, response display, and action toolbar that integrates with any AI/LLM backend.
Key Features:
- Prompt Input: Built-in input area for sending prompts to the AI backend
- Response Display: Renders AI-generated responses with support for formatted content
- Prompt Suggestions: Configurable suggestion chips to guide users with common queries
- Action Toolbar: Customizable toolbar with actions for the assistant view
- Template Support: Custom templates for rendering prompt and response areas
- Event Hooks:
promptRequestandcreatedevents for integrating with external AI services - Accessibility: Full keyboard navigation and screen reader support
Documentation
ASP.NET MVC Chat UI Component
The ASP.NET MVC Chat UI Component is a fully customizable real-time chat component with message bubbles, timestamps, typing indicators, and user avatars.
Key Features:
- Message Bubbles: Distinct sender and receiver message layouts with timestamps
- Typing Indicators: Visual indicator when the other party is composing a message
- User Avatars: Support for user profile images or initials in chat threads
- Template Support: Custom templates for individual message rendering
- Load on Demand: Efficiently loads large message histories on scroll
- Virtual Scrolling: Handles large chat histories with high performance
- Accessibility: Keyboard navigation and ARIA support
Documentation
Common Setup
These setup steps are required only once for your application, regardless of which Syncfusion components you use.
1. Install Base NuGet Package
Install-Package Syncfusion.AspNetMvc.InteractiveChat
2. Add Namespace Reference
Edit Web.config under the Views folder and add the Syncfusion.EJ2 namespace:
<namespaces>
<add namespace="Syncfusion.EJ2"/>
</namespaces>
3. Add Stylesheet & Script References
In your layout file (~/Views/Shared/_Layout.cshtml), add the following in the <head> section:
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewBag.Title - Syncfusion Application</title>
<link rel="stylesheet" href="https://cdn.syncfusion.com/ej2/34.1.32/fluent2.css" />
<script src="https://cdn.syncfusion.com/ej2/34.1.32/dist/ej2.min.js"></script>
</head>
4. Register Script Manager
At the end of the <body> tag in your layout file (~/Views/Shared/_Layout.cshtml):
<body>
@RenderBody()
@Html.EJS().ScriptManager()
</body>
Quick Start
Step 1: Add ASP.NET MVC AI Assist View, Inline Assist and Chat UI controls
@using Syncfusion.EJ2.InteractiveChat
<div class="aiassist-container" style="height: 350px; width: 650px;">
@Html.EJS().AIAssistView("aiAssistView").Render()
</div>
<div class="chatui-container" style="height: 400px; width: 400px;">
@Html.EJS().ChatUI("chatUI").User(ViewBag.CurrentUser).Render()
</div>
<style>
#editableText {
width: 100%;
min-height: 120px;
max-height: 300px;
overflow-y: auto;
font-size: 16px;
padding: 12px;
border-radius: 4px;
border: 1px solid;
}
</style>
<div class="container" style="height: 350px; width: 650px;">
<button id="summarizeBtn" class="e-btn e-primary" style="margin-bottom: 10px;" onclick="onSummarizeClick()">Content Summarize</button>
<div id="editableText" contenteditable="true">
<p>Inline AI Assist component provides intelligent text processing capabilities that enhance user productivity. It leverages advanced natural language processing to understand context and deliver precise suggestions. Users can seamlessly integrate AI-powered features into their applications.</p>
<p>With real-time response streaming and customizable prompts, developers can create interactive experiences. The component supports multiple response modes including inline editing and popup-based interactions.</p>
</div>
@Html.EJS().InlineAIAssist("defaultInlineAssist").RelateTo("#summarizeBtn").Target("#container").Created("onCreated").PromptRequest("onPromptRequest").ResponseSettings(new Syncfusion.EJ2.InteractiveChat.InlineAIAssistResponseSettings { ItemSelect = "onItemSelect" }).Render()
</div>
<script>
var inlineAssist;
function onCreated() {
inlineAssist = this;
}
function onPromptRequest(args) {
setTimeout(function () {
var defaultResponse = 'For real-time prompt processing, connect the Inline AI Assist component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.';
inlineAssist.addResponse(defaultResponse);
}, 1000);
}
function onItemSelect(args) {
if (args.command.label === 'Accept') {
var editable = document.getElementById('editableText');
if (editable) {
editable.innerHTML = '<p>' + inlineAssist.prompts[inlineAssist.prompts.length - 1].response + '</p>';
}
inlineAssist.hidePopup();
} else if (args.command.label === 'Discard') {
inlineAssist.hidePopup();
}
}
function onSummarizeClick() {
if (inlineAssist) {
inlineAssist.showPopup();
}
}
</script>
Step 2: Create controller ~/Controllers/HomeController.cs
using Syncfusion.EJ2.InteractiveChat;
public ChatUIUser CurrentUser { get; set; }
public ChatUIUser CurrentUserModel { get; set; } = new ChatUIUser() { Id = "user1", User = "Albert" };
public ActionResult Default()
{
CurrentUser = CurrentUserModel;
ViewBag.CurrentUser = CurrentUser;
return View();
}
Step 3: Run the Application
Press Ctrl+F5 to run the application in your browser.
Support
License
This is a commercial product and requires a paid license for possession or use. Review the Syncfusion® EULA
About Syncfusion®
Syncfusion® provides 1600+ UI components and frameworks for web, mobile, and desktop development across multiple platforms:
Web: Blazor | ASP.NET MVC | ASP.NET MVC | JavaScript | Angular | React | Vue
Desktop: WinForms | WPF | WinUI
Learn more at www.syncfusion.com
sales@syncfusion.com | Toll Free: 1-888-9-DOTNET
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET Framework | net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
- Newtonsoft.Json (>= 13.0.3)
- Syncfusion.AspNetMvc.Base (>= 34.1.32)
- Syncfusion.EJ2.JavaScript (>= 34.1.32)
- Syncfusion.Licensing (>= 34.1.32)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.