<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - ASP.NET</title>
		<link>https://www.developpez.net/forums/</link>
		<description><![CDATA[ASP.NET -Forum d'entraide sur le Développement Web en ASP.NET.  Avant de poster -> FAQ ASP.NET, Articles ASP.NET]]></description>
		<language>fr</language>
		<lastBuildDate>Sun, 12 Apr 2026 18:44:17 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - ASP.NET</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title>ASP.NET WebForms thème bootstrap en mode Design</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182510&amp;goto=newpost</link>
			<pubDate>Sun, 08 Mar 2026 05:59:58 GMT</pubDate>
			<description>Bonjour à tous. 
 
Je démarre...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous.<br />
<br />
Je démarre un nouveau projet web en asp.net avec visual studio 2022 pour faire un site de petites annonces. Je suis totalement perdu dans les différentes technos que propose Microsoft et je veux rester sur quelque chose de simple. Je suis donc partie sur un projet WebForms.<br />
<br />
Lorsque j'ouvre ma master page, le mode design ne prend en compte le thème par défaut de bootstrap. Avez vous un solution ou est-ce normal ?<br />
<br />
Merci.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f488/dotnet/developpement-web-net/asp-net/">ASP.NET</category>
			<dc:creator>ddaime</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182510/dotnet/developpement-web-net/asp-net/asp-net-webforms-theme-bootstrap-mode-design/</guid>
		</item>
		<item>
			<title><![CDATA[Suppression d'un utilisateur, erreur de Cascade Delete]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181407&amp;goto=newpost</link>
			<pubDate>Fri, 09 Jan 2026 13:51:55 GMT</pubDate>
			<description><![CDATA[J'utilise une messagerie...]]></description>
			<content:encoded><![CDATA[<div>J'utilise une messagerie d'utilisateur à utilisateur.<br />
Voici sa classe :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
    <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> MessagesModel
    <span class="br0">&#123;</span>
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">long</span> Id <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> ApplicationUser UserExp <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> ApplicationUser UserDest <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> Articles Article <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
&nbsp;
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">string</span> Message <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> messageStatus Status <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> DateTime Created_at <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">string</span> Topic <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">bool</span> NewMsg <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">bool</span> NewMsg_Exp <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">bool</span> NewMsg_Dest <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span> Offre <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> OfferStatus OffreStatus <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
&nbsp;
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">enum</span> messageStatus
        <span class="br0">&#123;</span>
            Sent,
            Delivered
        <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">enum</span> OfferStatus
        <span class="br0">&#123;</span>
            None,
            Sent,
            Accepted,
            Denied,
            Cancelled,
            Expired
        <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> MessagesModel<span class="br0">&#40;</span><span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            Status = messageStatus.Sent;
            OffreStatus = OfferStatus.None;
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div>Cela génère 3 clés étrangères dans la table. <br />
Extrait du fichier de migration (Code First) :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
    constraints: table =&gt;
     <span class="br0">&#123;</span>
     	table.PrimaryKey<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;PK_Messages&quot;</span>, x =&gt; x.Id<span class="br0">&#41;</span>;
     	table.ForeignKey<span class="br0">&#40;</span>
     		name: <span style="color: #FF0000;">&quot;FK_Messages_Articles_ArticleId&quot;</span>,
     		column: x =&gt; x.ArticleId,
     		principalTable: <span style="color: #FF0000;">&quot;Articles&quot;</span>,
     		principalColumn: <span style="color: #FF0000;">&quot;Id&quot;</span>,
     		onDelete: ReferentialAction.Cascade<span class="br0">&#41;</span>;
     	table.ForeignKey<span class="br0">&#40;</span>
     		name: <span style="color: #FF0000;">&quot;FK_Messages_AspNetUsers_User_DestId&quot;</span>,
     		column: x =&gt; x.User_DestId,
     		principalTable: <span style="color: #FF0000;">&quot;AspNetUsers&quot;</span>,
     		principalColumn: <span style="color: #FF0000;">&quot;Id&quot;</span><span class="br0">&#41;</span>;
     	table.ForeignKey<span class="br0">&#40;</span>
     		name: <span style="color: #FF0000;">&quot;FK_Messages_AspNetUsers_User_ExpId&quot;</span>,
     		column: x =&gt; x.User_ExpId,
     		principalTable: <span style="color: #FF0000;">&quot;AspNetUsers&quot;</span>,
     		principalColumn: <span style="color: #FF0000;">&quot;Id&quot;</span><span class="br0">&#41;</span>;
     <span class="br0">&#125;</span><span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div><br />
Quand je supprime un utilisateur j'obtiens cette erreur :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Citation:</div>
	<div class="bbcode_quote printable">
		<hr />
		
			 SET NOCOUNT ON; DELETE FROM [AspNetUsers] WHERE [Id] = @p0 AND [ConcurrencyStamp] = @p1; SELECT @@ROWCOUNT;<br />
 Microsoft.EntityFrameworkCore.Update: Error: An exception occurred in<br />
 the database while saving changes for context type<br />
 'LeC_MVC_Auth_2024.Models.LeCContext'.<br />
 Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred<br />
 while saving the entity changes. See the inner exception for details. <br />
 ---&gt; Microsoft.Data.SqlClient.SqlException (0x80131904):   <b>The DELETE statement conflicted with the REFERENCE constraint<br />
 &quot;FK_Messages_AspNetUsers_UserDestId&quot;. The conflict occurred in<br />
 database &quot;CrecDB&quot;, table &quot;dbo.Messages&quot;, column 'UserDestId'</b>.
			
		<hr />
	</div>
</div>La suppression en cascade fonctionne sur tous les 'articles' que possède l'utilisateur. Cela fonctionne bien pour toutes les autres tables (Panier, Favoris, Articles) tant que l'utilisateur n'a pas de message dans la messagerie.<br />
<br />
Dans ce cas précis, je ne sais pas si cette erreur survient au moment de la suppression de l'article, sujet du message, ou à celui de la suppression de l'utilisateur lui-même. <br />
J'ai lu beaucoup sur la suppression en cascade, mais je ne comprends pas toujours ce que j'ai lu, et si cela peut s'appliquer à mon problème. <br />
<br />
J'ai lu des choses sur &quot;.WillCascadeOnDelete(false);&quot; mais cette option n'existe pas pour moi. <br />
<br />
Extrait de mon 'OnModelCreating' (qui ne comporte quasiment rien) :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #339933;">#region --- M E S S A G E S   ---</span>
modelBuilder.Entity&lt;MessagesModel&gt;<span class="br0">&#40;</span><span class="br0">&#41;</span>.HasKey<span class="br0">&#40;</span>d =&gt; d.Id<span class="br0">&#41;</span>;
modelBuilder.Entity&lt;MessagesModel&gt;<span class="br0">&#40;</span><span class="br0">&#41;</span>.Property<span class="br0">&#40;</span>d =&gt; d.Offre<span class="br0">&#41;</span>.HasDefaultValue<span class="br0">&#40;</span><span style="color: #cc66cc;">0</span><span class="br0">&#41;</span>;
<span style="color: #339933;">#endregion</span></pre></td></tr></table></code><hr />
</div>À ce point, je ne vois que deux solutions <br />
- Empêcher de créer des clés étrangères pour &quot;UserExp&quot; et &quot;UserDest&quot; (j'ai besoin que cela reste 'ApplicationUser')<br />
- Faire en sorte que la suppression en cascade ne se produise pas pour ces deux clés étrangères<br />
<br />
Merci pour votre aide.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f488/dotnet/developpement-web-net/asp-net/">ASP.NET</category>
			<dc:creator>AMP29</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181407/dotnet/developpement-web-net/asp-net/suppression-d-utilisateur-erreur-cascade-delete/</guid>
		</item>
		<item>
			<title><![CDATA[Json n'est pas renvoyé à Ajax appelante]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181300&amp;goto=newpost</link>
			<pubDate>Sun, 04 Jan 2026 20:36:04 GMT</pubDate>
			<description><![CDATA[Bonjour,  
 
J'ai un...]]></description>
			<content:encoded><![CDATA[<div>Bonjour, <br />
<br />
J'ai un formulaire dans une vue partielle. La vue reçoit un &quot;model&quot;. <br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
@model EditUserViewModel
@<span class="br0">&#123;</span>
    Layout = <span style="color: #0000ff;">null</span>;
<span class="br0">&#125;</span>
&nbsp;
&lt;h2&gt;Modifier un utilisateur&lt;/h2&gt;
&nbsp;
&lt;form asp-action=<span style="color: #FF0000;">&quot;Edit&quot;</span> id=<span style="color: #FF0000;">&quot;EditUser&quot;</span> method=<span style="color: #FF0000;">&quot;post&quot;</span>&gt;
    &lt;input type=<span style="color: #FF0000;">&quot;hidden&quot;</span> asp-<span style="color: #0000ff;">for</span>=<span style="color: #FF0000;">&quot;Id&quot;</span> /&gt;
&nbsp;
    &lt;div <span style="color: #0000ff;">class</span>=<span style="color: #FF0000;">&quot;mb-3&quot;</span>&gt;
        &lt;label asp-<span style="color: #0000ff;">for</span>=<span style="color: #FF0000;">&quot;UserName&quot;</span> <span style="color: #0000ff;">class</span>=<span style="color: #FF0000;">&quot;form-label&quot;</span>&gt;Nom d<span style="color: #FF0000;">'utilisateur&lt;/label&gt;
        &lt;input asp-for=&quot;UserName&quot; class=&quot;form-control&quot; required /&gt;
        &lt;span asp-validation-for=&quot;UserName&quot; class=&quot;text-danger&quot;&gt;&lt;/span&gt;
    &lt;/div&gt;
&nbsp;
    &lt;div class=&quot;mb-3&quot;&gt;
        &lt;label asp-for=&quot;Email&quot; class=&quot;form-label&quot;&gt;Email&lt;/label&gt;
        &lt;input asp-for=&quot;Email&quot; type=&quot;email&quot; class=&quot;form-control&quot; required /&gt;
        &lt;span asp-validation-for=&quot;Email&quot; class=&quot;text-danger&quot;&gt;&lt;/span&gt;
    &lt;/div&gt;
&nbsp;
    &lt;div class=&quot;mb-3&quot;&gt;
        &lt;label class=&quot;form-label&quot;&gt;Changer le mot de passe (laisser vide pour ne pas modifier)&lt;/label&gt;
        &lt;input asp-for=&quot;Password&quot; type=&quot;password&quot; class=&quot;form-control&quot; value=&quot;&quot;/&gt;
        &lt;span asp-validation-for=&quot;Password&quot; class=&quot;text-danger&quot;&gt;&lt;/span&gt;
    &lt;/div&gt;
&nbsp;
    &lt;div class=&quot;mb-3&quot;&gt;
        &lt;label asp-for=&quot;Pseudo&quot; class=&quot;form-label&quot;&gt;Pseudo&lt;/label&gt;
        &lt;input asp-for=&quot;Pseudo&quot; class=&quot;form-control&quot; /&gt;
        &lt;span asp-validation-for=&quot;Pseudo&quot; class=&quot;text-danger&quot;&gt;&lt;/span&gt;
    &lt;/div&gt;
&nbsp;
    &lt;div class=&quot;mb-3&quot;&gt;
        &lt;label class=&quot;form-label&quot;&gt;R&ocirc;les&lt;/label&gt;
        &lt;div&gt;
            @for (int i = 0; i &lt; Model.Roles.Count; i++)
            <span style="color: black;"><span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div <span style="color: #0000ff;">class</span>=<span style="color: #FF0000;">&quot;form-check&quot;</span>&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;input type=<span style="color: #FF0000;">&quot;checkbox&quot;</span> <span style="color: #0000ff;">class</span>=<span style="color: #FF0000;">&quot;form-check-input&quot;</span> asp-<span style="color: #0000ff;">for</span>=<span style="color: #FF0000;">&quot;Roles[i].Selected&quot;</span> /&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;label <span style="color: #0000ff;">class</span>=<span style="color: #FF0000;">&quot;form-check-label&quot;</span> <span style="color: #0000ff;">for</span>=<span style="color: #FF0000;">&quot;Roles[i].Selected&quot;</span>&gt;@Model.Roles<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.RoleName&lt;/label&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;input type=<span style="color: #FF0000;">&quot;hidden&quot;</span> asp-<span style="color: #0000ff;">for</span>=<span style="color: #FF0000;">&quot;Roles[i].RoleId&quot;</span> /&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;input type=<span style="color: #FF0000;">&quot;hidden&quot;</span> asp-<span style="color: #0000ff;">for</span>=<span style="color: #FF0000;">&quot;Roles[i].RoleName&quot;</span> /&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/div&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></span>
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;button type=&quot;submit&quot; class=&quot;btn-dark btn-sm&quot; &gt;Enregistrer&lt;/button&gt;
    &lt;button type=&quot;button&quot; id=&quot;btnEditAnnuler_@Model.Id&quot;  onclick=&quot;LoadDetailPartialView_USERS()&quot; style=&quot;background-color:lightgray&quot;&gt;Annuler&lt;/button&gt;
&lt;/form&gt;
&nbsp;
@section Scripts {
    &lt;partial name=&quot;_ValidationScriptsPartial&quot; /&gt;
}</span></pre></td></tr></table></code><hr />
</div><br />
<br />
Côté Controller : <br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">async</span> Task&lt;IActionResult&gt; Edit<span class="br0">&#40;</span><span style="color: #0000ff;">string</span> id<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <span style="color: #0000ff;">var</span> user = <span style="color: #0000ff;">await</span> _userManager.FindByIdAsync<span class="br0">&#40;</span>id<span class="br0">&#41;</span>;
            <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>user == <span style="color: #0000ff;">null</span><span class="br0">&#41;</span> <span style="color: #0000ff;">return</span> NotFound<span class="br0">&#40;</span><span class="br0">&#41;</span>;
&nbsp;
            <span style="color: #0000ff;">var</span> userRoles = <span style="color: #0000ff;">await</span> _userManager.GetRolesAsync<span class="br0">&#40;</span>user<span class="br0">&#41;</span>;
            <span style="color: #0000ff;">var</span> allRoles = _roleManager.Roles.ToList<span class="br0">&#40;</span><span class="br0">&#41;</span>;
&nbsp;
            <span style="color: #0000ff;">var</span> model = <span style="color: #0000ff;">new</span> EditUserViewModel
            <span class="br0">&#123;</span>
                Id = user.Id,
                UserName = user.UserName,
                Email = user.Email,
                Pseudo = user.Pseudo,
                Roles = allRoles.Select<span class="br0">&#40;</span>r =&gt; <span style="color: #0000ff;">new</span> RoleSelectionViewModel
                <span class="br0">&#123;</span>
                    RoleId = r.Id,
                    RoleName = r.Name,
                    Selected = userRoles.Contains<span class="br0">&#40;</span>r.Name<span class="br0">&#41;</span>
                <span class="br0">&#125;</span><span class="br0">&#41;</span>.ToList<span class="br0">&#40;</span><span class="br0">&#41;</span>
            <span class="br0">&#125;</span>;
&nbsp;
            <span style="color: #0000ff;">return</span> View<span class="br0">&#40;</span>model<span class="br0">&#41;</span>;
        <span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div>Cette vue est elle-même appelée par une vue partielle (liste des 'Users'), par :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
        function Modif_User<span class="br0">&#40;</span>Id<span class="br0">&#41;</span> <span class="br0">&#123;</span>
            $.ajax<span class="br0">&#40;</span><span class="br0">&#123;</span>
                url: <span style="color: #FF0000;">'@Url.Action(&quot;Edit&quot;, &quot;Users&quot;, new <span style="color: black;"><span class="br0">&#123;</span> Area = <span style="color: #FF0000;">&quot;Admin&quot;</span> <span class="br0">&#125;</span></span>)'</span>,
                type: <span style="color: #FF0000;">'GET'</span>,
                cache: <span style="color: #0000ff;">false</span>,
                data: <span class="br0">&#123;</span>id:Id <span class="br0">&#125;</span>
            <span class="br0">&#125;</span><span class="br0">&#41;</span>.done<span class="br0">&#40;</span>function <span class="br0">&#40;</span>result<span class="br0">&#41;</span> <span class="br0">&#123;</span>
                    $<span class="br0">&#40;</span>PartialUsers<span class="br0">&#41;</span>.html<span class="br0">&#40;</span>result<span class="br0">&#41;</span>;
            <span class="br0">&#125;</span><span class="br0">&#41;</span>;
        <span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div>À la soumission du formulaire, dans ma vue : <br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
        $<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;#Edit&quot;</span><span class="br0">&#41;</span>.submit<span class="br0">&#40;</span>function <span class="br0">&#40;</span>e<span class="br0">&#41;</span> <span class="br0">&#123;</span>
            e.preventDefault<span class="br0">&#40;</span><span class="br0">&#41;</span>;
            <span style="color: #0000ff;">var</span> formdata = <span style="color: #0000ff;">new</span> FormData<span class="br0">&#40;</span><span style="color: #0000ff;">this</span><span class="br0">&#41;</span>;
&nbsp;
            $.ajax<span class="br0">&#40;</span><span class="br0">&#123;</span>
                url: <span style="color: #FF0000;">'@Url.Action(&quot;Edit&quot;,&quot;Users&quot;, new <span style="color: black;"><span class="br0">&#123;</span> Area = <span style="color: #FF0000;">&quot;Admin&quot;</span> <span class="br0">&#125;</span></span>)'</span>,
                data: formdata,
                method: <span style="color: #FF0000;">&quot;post&quot;</span>,
                success: function <span class="br0">&#40;</span>result<span class="br0">&#41;</span> <span class="br0">&#123;</span>
                    debugger;
                    <span style="color: #0000ff;">if</span><span class="br0">&#40;</span>result.success<span class="br0">&#41;</span>
                    <span class="br0">&#123;</span>
                        window.location.href = <span style="color: #FF0000;">&quot;@Url.Action(&quot;</span>Index<span style="color: #FF0000;">&quot;,&quot;</span>Users<span style="color: #FF0000;">&quot;, new <span style="color: black;"><span class="br0">&#123;</span> Area = <span style="color: #FF0000;">&quot;Admin&quot;</span> <span class="br0">&#125;</span></span>)&quot;</span>;
                    <span class="br0">&#125;</span>
                <span class="br0">&#125;</span>,
            <span class="br0">&#125;</span><span class="br0">&#41;</span>;
        <span class="br0">&#125;</span><span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div>et la méthode du contrôleur liée : <br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
        <span class="br0">&#91;</span>HttpPost<span class="br0">&#93;</span>
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">async</span> Task&lt;IActionResult&gt; Edit<span class="br0">&#40;</span>EditUserViewModel model<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>!ModelState.IsValid<span class="br0">&#41;</span>
            <span class="br0">&#123;</span>
                <span style="color: #0000ff;">return</span> Json<span class="br0">&#40;</span><span style="color: #0000ff;">new</span> <span class="br0">&#123;</span> success = <span style="color: #0000ff;">false</span> <span class="br0">&#125;</span><span class="br0">&#41;</span>;
            <span class="br0">&#125;</span>
&nbsp;
            <span style="color: #0000ff;">var</span> user = <span style="color: #0000ff;">await</span> _userManager.FindByIdAsync<span class="br0">&#40;</span>model.Id<span class="br0">&#41;</span>;
            <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>user == <span style="color: #0000ff;">null</span><span class="br0">&#41;</span> <span style="color: #0000ff;">return</span> Json<span class="br0">&#40;</span><span style="color: #0000ff;">new</span> <span class="br0">&#123;</span> success = <span style="color: #0000ff;">false</span> <span class="br0">&#125;</span><span class="br0">&#41;</span>; 
&nbsp;
            user.Email = model.Email;
            user.Pseudo = model.Pseudo;
            <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>!<span style="color: #0000ff;">string</span>.IsNullOrEmpty<span class="br0">&#40;</span>model.Password<span class="br0">&#41;</span><span class="br0">&#41;</span>
            <span class="br0">&#123;</span>
                <span style="color: #0000ff;">var</span> token = <span style="color: #0000ff;">await</span> _userManager.GeneratePasswordResetTokenAsync<span class="br0">&#40;</span>user<span class="br0">&#41;</span>;
                <span style="color: #0000ff;">await</span> _userManager.ResetPasswordAsync<span class="br0">&#40;</span>user, token, model.Password<span class="br0">&#41;</span>;
            <span class="br0">&#125;</span>
&nbsp;
            <span style="color: #0000ff;">await</span> _userManager.UpdateAsync<span class="br0">&#40;</span>user<span class="br0">&#41;</span>;
&nbsp;
            <span style="color: #0000ff;">var</span> currentRoles = <span style="color: #0000ff;">await</span> _userManager.GetRolesAsync<span class="br0">&#40;</span>user<span class="br0">&#41;</span>;
            <span style="color: #0000ff;">var</span> selectedRoles = model.Roles.Where<span class="br0">&#40;</span>r =&gt; r.Selected<span class="br0">&#41;</span>.Select<span class="br0">&#40;</span>r =&gt; r.RoleName<span class="br0">&#41;</span>.ToList<span class="br0">&#40;</span><span class="br0">&#41;</span>;
&nbsp;
            <span style="color: #0000ff;">await</span> _userManager.RemoveFromRolesAsync<span class="br0">&#40;</span>user, currentRoles<span class="br0">&#41;</span>;
            <span style="color: #0000ff;">await</span> _userManager.AddToRolesAsync<span class="br0">&#40;</span>user, selectedRoles<span class="br0">&#41;</span>;
&nbsp;
            <span style="color: #0000ff;">return</span> Json<span class="br0">&#40;</span><span style="color: #0000ff;">new</span> <span class="br0">&#123;</span> success = <span style="color: #0000ff;">true</span> <span class="br0">&#125;</span><span class="br0">&#41;</span>;
        <span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div>La soumission se passe bien et les informations sont enregistrées. <br />
Le problème est que &quot;<b>Json(new { success = true })</b>&quot; n'est pas renvoyé à la fonction AJAX appelante mais s'affiche en brut dans le navigateur. <br />
<img src="https://www.developpez.net/forums/attachments/p673033d1767558374/dotnet/developpement-web-net/asp-net/json-n-renvoye-ajax-appelante/json-brut.jpg/" border="0" alt="Nom : Json Brut.jpg
Affichages : 68
Taille : 9,6 Ko"  style="float: CONFIG" /><br />
<br />
La fonction AJAX n'est même pas lue dans &quot;<b>$(&quot;#Edit&quot;).submit(function (e)...</b>&quot;. <br />
<br />
Le retour Json me permettrait d'afficher le résultat où il doit s'afficher, c'est à dire en rappelant la vue partielle listant les 'Users' et qui appelle la vue partielle contenant le formulaire d'édition de 'User'. <br />
<br />
J'ai déjà utilisé cette façon de faire, avec une vue partielle comportant un formulaire et les données soumises par 'submit' et ça fonctionnait, AJAX recevait bien la réponse Json. <br />
<br />
Je ne comprends pas ce qui ne fonctionne pas cette fois-ci. <br />
Merci</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p673033d1767558374/dotnet/developpement-web-net/asp-net/json-n-renvoye-ajax-appelante/json-brut.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f488/dotnet/developpement-web-net/asp-net/">ASP.NET</category>
			<dc:creator>AMP29</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181300/dotnet/developpement-web-net/asp-net/json-n-renvoye-ajax-appelante/</guid>
		</item>
		<item>
			<title>problème génération automatique de composant</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181257&amp;goto=newpost</link>
			<pubDate>Fri, 02 Jan 2026 00:12:55 GMT</pubDate>
			<description>Bonjour tout le monde:) 
...</description>
			<content:encoded><![CDATA[<div>Bonjour tout le monde:)<br />
<br />
Pour le contecte, j'ai dotnet 9.0, une application MVC et des razors pages...<br />
Quant je souhaite installer un nouveau composant générer automatiquement.<br />
je remplis les 3 champs (classe, dbcontext, page de disposition...<img src="https://www.developpez.net/forums/attachments/p672965d1767312649/dotnet/developpement-web-net/asp-net/probleme-generation-automatique-composant/erreu_gener.jpg/" border="0" alt="Nom : erreu_gener.JPG
Affichages : 84
Taille : 12,5 Ko"  style="float: CONFIG" />)<br />
Tout semble correct, rien dans la console de sortie..<br />
quant je génère ça plante, assez vite<br />
A toute fin utile, je join le message d'erreur..</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p672965d1767312649/dotnet/developpement-web-net/asp-net/probleme-generation-automatique-composant/erreu_gener.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f488/dotnet/developpement-web-net/asp-net/">ASP.NET</category>
			<dc:creator>boughate</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181257/dotnet/developpement-web-net/asp-net/probleme-generation-automatique-composant/</guid>
		</item>
		<item>
			<title><![CDATA[[Sage X3 / C#] ETL pour exporter le stock (table STOCK) en fichier EDIFACT (INVRPT)]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180332&amp;goto=newpost</link>
			<pubDate>Thu, 06 Nov 2025 21:37:05 GMT</pubDate>
			<description>Bonjour à tous, 
 
Je dois...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
Je dois développer un processus ETL en C# dont l'objectif est d'extraire les données de stock de notre Sage X3 pour générer un fichier EDIFACT (plus précisément un message INVRPT - Inventory Report) destiné à un partenaire logistique.<br />
<br />
J'ai déjà effectué quelques recherches et j'ai une idée de l'architecture globale :<br />
<br />
Extract : Me connecter en C# (via System.Data.SqlClient) directement à la base de données SQL de Sage X3.<br />
<br />
Transform : Lire les données et utiliser une bibliothèque C# pour les mapper et les transformer en une structure EDIFACT.<br />
<br />
Load : Écrire le résultat dans un fichier .edi.<br />
<br />
J'ai identifié que les tables principales pour les informations de stock sont probablement STOCK (pour les quantités) et ITMMASTER (pour les détails des articles).<br />
<br />
J'aimerais avoir votre avis d'experts et poser quelques questions ciblées pour m'assurer de partir dans la bonne direction :<br />
<br />
Mes questions :<br />
<br />
1. Extraction (Sage X3) :<br />
<br />
Quelle est la meilleure pratique pour lire les données de stock ? Est-ce que l'attaque directe de la table STOCK (jointe à ITMMASTER) est une approche fiable ?<br />
<br />
Y a-t-il des champs spécifiques ou des statuts dans ces tables auxquels je dois faire attention (par exemple, pour exclure les stocks bloqués, en transit, etc.) ?<br />
<br />
Est-il fortement déconseillé de lire la base en direct ? Devrais-je plutôt (malgré la complexité) passer par la publication d'un Web Service Sage X3 ?<br />
<br />
2. Transformation (C# / EDIFACT) :<br />
<br />
Avez-vous des recommandations pour une bibliothèque .NET (C#) robuste pour générer des fichiers EDIFACT ? J'ai vu des mentions de EDI.Net ou EdiEngine. L'une d'elles est-elle préférable pour un message INVRPT ?<br />
<br />
Existe-t-il des exemples ou des &quot;gotchas&quot; (pièges) connus lors de la création de segments EDIFACT pour les stocks (par exemple, les segments LIN pour l'article et QTY pour les quantités) ?<br />
<br />
3. Processus (ETL) :<br />
<br />
Y a-t-il des exemples de projets similaires (ETL C# depuis un ERP vers EDI) que je pourrais consulter pour m'inspirer de la structure du code ?<br />
<br />
Merci d'avance pour vos conseils et votre temps !</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f488/dotnet/developpement-web-net/asp-net/">ASP.NET</category>
			<dc:creator>Hnti999</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180332/dotnet/developpement-web-net/asp-net/sage-x3-csharp-etl-exporter-stock-table-stock-fichier-edifact-invrpt/</guid>
		</item>
		<item>
			<title>configurer SignalR pour un fonctionnement dans toutes les vues / Quelle vue est actuellement consultée ?</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180263&amp;goto=newpost</link>
			<pubDate>Mon, 03 Nov 2025 13:39:34 GMT</pubDate>
			<description><![CDATA[Bonjour,  
 
J'ai implémenté...]]></description>
			<content:encoded><![CDATA[<div>Bonjour, <br />
<br />
J'ai implémenté SignalR en complément d'une messagerie de User à User. <br />
Je m'en sers pour notifier le destinataire qu'il a reçu un message. <br />
<br />
Cela fonctionne quand le destinataire est déjà en train de consulter sa page de messages. <br />
SignalR et ses méthodes sont implémentés dans la page &quot;index&quot; de la messagerie. <br />
<br />
Mais, évidemment, l'intérêt de cette notification c'est quand le destinataire ne consulte pas la page de la messagerie. <br />
Une notification doit alors s'afficher dans la barre du menu principal, sur l’icône de la messagerie. <br />
<br />
Pour fonctionner tout le temps, SignalR doit donc être implémenté dans la page _Layout. <br />
<br />
code &quot;_Layout.cshtml&quot;<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
       <span style="color: #0000ff;">const</span> connection = <span style="color: #0000ff;">new</span> signalR.HubConnectionBuilder<span class="br0">&#40;</span><span class="br0">&#41;</span>
           .withUrl<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;/message&quot;</span><span class="br0">&#41;</span>
           .configureLogging<span class="br0">&#40;</span>signalR.LogLevel.Information<span class="br0">&#41;</span>
           .build<span class="br0">&#40;</span><span class="br0">&#41;</span>;
&nbsp;
       <span style="color: #0000ff;">async</span> function start<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
           <span style="color: #0000ff;">try</span> <span class="br0">&#123;</span>
                   <span style="color: #0000ff;">await</span> connection.start<span class="br0">&#40;</span><span class="br0">&#41;</span>;
               console.log<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;SignalR Connected.&quot;</span><span class="br0">&#41;</span>;
           <span class="br0">&#125;</span> <span style="color: #0000ff;">catch</span> <span class="br0">&#40;</span>err<span class="br0">&#41;</span> <span class="br0">&#123;</span>
               console.log<span class="br0">&#40;</span>err<span class="br0">&#41;</span>;
               setTimeout<span class="br0">&#40;</span>start, <span style="color: #cc66cc;">10000</span><span class="br0">&#41;</span>;
           <span class="br0">&#125;</span>
       <span class="br0">&#125;</span>;
&nbsp;
       connection.onclose<span class="br0">&#40;</span><span style="color: #0000ff;">async</span> <span class="br0">&#40;</span><span class="br0">&#41;</span> =&gt; <span class="br0">&#123;</span>
           <span style="color: #0000ff;">await</span> start<span class="br0">&#40;</span><span class="br0">&#41;</span>;
       <span class="br0">&#125;</span><span class="br0">&#41;</span>;
&nbsp;
       start<span class="br0">&#40;</span><span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div>Le problème est que, quand le destinataire ne consulte pas sa messagerie, la méthode &quot;ReceiveMessage&quot; n'est pas trouvée. <br />
Elle se trouve sur la page de la messagerie, que le destinataire ne consulte pas. <br />
<div class="bbcode_container">
	<div class="bbcode_description">Citation:</div>
	<div class="bbcode_quote printable">
		<hr />
		
			Warning: No client method with the name 'receivemessage' found.
			
		<hr />
	</div>
</div>Évidemment, je ne peux pas placer la méthode &quot;ReceiveMessage&quot; dans le _Layout. <br />
Car en consultant la messagerie, deux méthodes, celle de messagerie/Index et celle du _Layout auraient le même nom. <br />
<br />
La méthode &quot;ReceiveMessage&quot; dont j'aurais besoin dans le _Layout n'a que seule chose à faire. Mettre un flag sur l'icône &quot;message&quot; du menu principal. <br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">document.getElementById<span class="br0">&#40;</span><span style="color: #FF0000;">'lblNewMessage'</span><span class="br0">&#41;</span>.innerHTML=<span style="color: #FF0000;">&quot;*&quot;</span>;</code><hr />
</div>La méthode &quot;ReceiveMessage&quot; de la page messagerie réalise un long traitement spécifique à la page &quot;messagerie&quot; (inutile de le détailler). <br />
<br />
<b>Idéalement, j'aurais besoin de savoir qu'elle page est actuellement consultée par le destinataire du message.</b> <br />
Pour faire un choix dans le Hub de SignalR. <br />
<br />
Comme ça, en pseudo code: <br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
    <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> MSGHub : Hub
    <span class="br0">&#123;</span>
         <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">async</span> Task Send<span class="br0">&#40;</span><span style="color: #0000ff;">string</span> User_Exp, <span style="color: #0000ff;">string</span> User_Dest, <span style="color: #0000ff;">string</span> Topic, <span style="color: #0000ff;">string</span> message <span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <span style="color: #0000ff;">if</span><span class="br0">&#40;</span>Pageconsultee == <span style="color: #FF0000;">&quot;messagerie&quot;</span><span class="br0">&#41;</span>
            <span class="br0">&#123;</span>
                <span style="color: #0000ff;">await</span> Clients.User<span class="br0">&#40;</span>User_Dest<span class="br0">&#41;</span>.SendAsync<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;ReceiveMessage&quot;</span>, User_Exp, User_Dest, Topic, message<span class="br0">&#41;</span>;
            <span class="br0">&#125;</span>
            <span style="color: #0000ff;">else</span>
            <span class="br0">&#123;</span>
                <span style="color: #0000ff;">await</span> Clients.User<span class="br0">&#40;</span>User_Dest<span class="br0">&#41;</span>.SendAsync<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;NotifMessage&quot;</span><span class="br0">&#41;</span>;
            <span class="br0">&#125;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div>Avec la nouvelle méthode &quot;NotifMessage&quot; placée dans le _layout. <br />
<br />
C'est la solution à laquelle je pense. Peut-être en voyez-vous une autre ? <br />
<br />
<b>Comment savoir quelle View est actuellement consultée sur le site ? </b><br />
<br />
Merci</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f488/dotnet/developpement-web-net/asp-net/">ASP.NET</category>
			<dc:creator>AMP29</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180263/dotnet/developpement-web-net/asp-net/configurer-signalr-fonctionnement-toutes-vues-vue-actuellement-consultee/</guid>
		</item>
		<item>
			<title>Données de database manquantes à la lecture</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180098&amp;goto=newpost</link>
			<pubDate>Sun, 26 Oct 2025 11:30:28 GMT</pubDate>
			<description>Bonjour,  
 
Je travaille sur...</description>
			<content:encoded><![CDATA[<div>Bonjour, <br />
<br />
Je travaille sur une messagerie type plateforme de ventes. <br />
Un acheteur peut contacter un vendeur au sujet d'un produit. <br />
Son message concerne un produit en particulier. <br />
L'échange de messages n'est possible qu'entre un acheteur et le propriétaire du produit, et concernera uniquement le produit en question. <br />
<br />
Les échanges sont enregistrés en DB. <br />
<br />
Model : <br />
User_Exp, User_Dest et Article sont des Foreign Key <br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
    <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> MessagesModel
    <span class="br0">&#123;</span>
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">long</span> Id <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> ApplicationUser User_Exp <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> ApplicationUser User_Dest <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> Articles Article <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
&nbsp;
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">string</span> Message <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> messageStatus Status <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> DateTime Created_at <span class="br0">&#123;</span> <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">enum</span> messageStatus
        <span class="br0">&#123;</span>
            Sent,
            Delivered
        <span class="br0">&#125;</span>
        <span style="color: #0000ff;">public</span> MessagesModel<span class="br0">&#40;</span><span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            Status = messageStatus.Sent;
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div>Au chargement de la vue &quot;Messages&quot;, je récupère l'historique des échanges : <br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
        function getChat<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
            $.ajax<span class="br0">&#40;</span><span class="br0">&#123;</span>
                url: <span style="color: #FF0000;">'@Url.Action(&quot;ConversationWithContact&quot;, &quot;Messagerie&quot;)'</span>,
                type: <span style="color: #FF0000;">'GET'</span>,
                cache: <span style="color: #0000ff;">false</span>,
                data: <span class="br0">&#123;</span>articleId:  <span style="color: #FF0000;">'@Html.DisplayTextFor(model =&gt; model.Id)'</span><span class="br0">&#125;</span>,
            <span class="br0">&#125;</span><span class="br0">&#41;</span>
                .done<span class="br0">&#40;</span> function<span class="br0">&#40;</span>resp<span class="br0">&#41;</span> <span class="br0">&#123;</span>
                <span style="color: #0000ff;">var</span> chat_data = resp.data || <span class="br0">&#91;</span><span class="br0">&#93;</span>;
                loadChat<span class="br0">&#40;</span> chat_data <span class="br0">&#41;</span>;
                <span class="br0">&#125;</span><span class="br0">&#41;</span>;
        <span class="br0">&#125;</span>;</pre></td></tr></table></code><hr />
</div>Le controller : <br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
        <span style="color: #0000ff;">public</span> JsonResult ConversationWithContact<span class="br0">&#40;</span><span style="color: #0000ff;">long</span> articleId<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            ApplicationUser currentUser = _repo.GetUser<span class="br0">&#40;</span><span class="br0">&#41;</span>;
            Articles item = _repo.GetArticleByID<span class="br0">&#40;</span>articleId<span class="br0">&#41;</span>;
&nbsp;
            <span style="color: #0000ff;">var</span> conversations = <span style="color: #0000ff;">new</span> List&lt;Models.Messages.MessagesModel&gt;<span class="br0">&#40;</span><span class="br0">&#41;</span>;
&nbsp;
            conversations = _context.Messages.
                                  Where<span class="br0">&#40;</span>c =&gt; <span class="br0">&#40;</span>c.Article.Id == item.Id<span class="br0">&#41;</span>
                                  &amp;&amp; <span class="br0">&#40;</span>c.User_Dest.Id == currentUser.Id ||
                                  c.User_Exp.Id == currentUser.Id<span class="br0">&#41;</span><span class="br0">&#41;</span>
                                  .OrderBy<span class="br0">&#40;</span>c =&gt; c.Created_at<span class="br0">&#41;</span>
                                  .ToList<span class="br0">&#40;</span><span class="br0">&#41;</span>;
&nbsp;
            <span style="color: #0000ff;">return</span> Json<span class="br0">&#40;</span><span style="color: #0000ff;">new</span> <span class="br0">&#123;</span> status = <span style="color: #FF0000;">&quot;success&quot;</span>, data = conversations <span class="br0">&#125;</span><span class="br0">&#41;</span>;
        <span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div>C'est là que le problème arrive. <br />
Pour l'exemple j'ai 2 users, Titi et Toto, et un vendeur. <br />
Titi et Toto ont envoyé chacun un message au vendeur concernant le même produit. <br />
<br />
&quot;conversations&quot; renvoie une valeur NULL pour User_Exp alors que la valeur est présente dans la DB.  <br />
Le problème se produit dans le controller. <br />
<br />
<img src="https://www.developpez.net/forums/attachments/p671312d1761476244/dotnet/developpement-web-net/asp-net/donnees-database-manquantes-lecture/sharedscreenshot_bdd.jpg/" border="0" alt="Nom : SharedScreenshot_BdD.jpg
Affichages : 130
Taille : 48,3 Ko"  style="float: CONFIG" /><br />
<br />
Cela se produit pour chaque message pour lequel le user qui utilise la messagerie n'est pas l'expéditeur. <br />
<br />
<br />
Quand c'est le DESTINATAIRE (en l’occurrence le propriétaire du produit) qui utilise la messagerie, <b>chaque User_Exp est NULL</b>. <br />
<img src="https://www.developpez.net/forums/attachments/p671313d1761476367/dotnet/developpement-web-net/asp-net/donnees-database-manquantes-lecture/conversation_via-lec.jpg/" border="0" alt="Nom : Conversation_via LEC.jpg
Affichages : 124
Taille : 89,0 Ko"  style="float: CONFIG" /><br />
<br />
Pour Titi, c'est les messages de Toto qui ont user_Exp = NULL. <br />
<img src="https://www.developpez.net/forums/attachments/p671314d1761477219/dotnet/developpement-web-net/asp-net/donnees-database-manquantes-lecture/conversation_via-titi.jpg/" border="0" alt="Nom : Conversation_via TITI.jpg
Affichages : 122
Taille : 80,9 Ko"  style="float: CONFIG" /><br />
<br />
Et pour Toto, ce sont ceux de Titi :<br />
<img src="https://www.developpez.net/forums/attachments/p671315d1761477255/dotnet/developpement-web-net/asp-net/donnees-database-manquantes-lecture/conversation_via-toto.jpg/" border="0" alt="Nom : Conversation_via TOTO.jpg
Affichages : 122
Taille : 85,3 Ko"  style="float: CONFIG" /><br />
<br />
J'ai absolument besoin de l'info user_Exp pour ensuite trier les messages. <br />
<br />
Je n'arrive pas à comprendre ce problème. <br />
C'est peut-être juste un problème de logique, mais je ne le comprends pas. <br />
Merci</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p671312d1761476244/dotnet/developpement-web-net/asp-net/donnees-database-manquantes-lecture/sharedscreenshot_bdd.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p671313d1761476367/dotnet/developpement-web-net/asp-net/donnees-database-manquantes-lecture/conversation_via-lec.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p671314d1761477219/dotnet/developpement-web-net/asp-net/donnees-database-manquantes-lecture/conversation_via-titi.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p671315d1761477255/dotnet/developpement-web-net/asp-net/donnees-database-manquantes-lecture/conversation_via-toto.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f488/dotnet/developpement-web-net/asp-net/">ASP.NET</category>
			<dc:creator>AMP29</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180098/dotnet/developpement-web-net/asp-net/donnees-database-manquantes-lecture/</guid>
		</item>
		<item>
			<title><![CDATA[Erreur 404 due à une erreur d'ordonnancement des Middlewares dans le fichier Programs.cs]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2179602&amp;goto=newpost</link>
			<pubDate>Thu, 02 Oct 2025 01:22:29 GMT</pubDate>
			<description><![CDATA[Bonjour, 
 
J'ai un soucis...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
J'ai un soucis avec l'ordre des Middleware dans mon application ASP.NET CORE 9. Voici le contenu de mon fichier Programs.cs:<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">using</span> API.Middleware;
<span style="color: #0000ff;">using</span> Core.Interfaces;
<span style="color: #0000ff;">using</span> Infrastructure.Data;
&nbsp;
&nbsp;
<span style="color: #0000ff;">using</span> Microsoft.EntityFrameworkCore;
&nbsp;
<span style="color: #0000ff;">var</span> builder = WebApplication.CreateBuilder<span class="br0">&#40;</span>args<span class="br0">&#41;</span>;
&nbsp;
<span style="color: #808080;">// Add services to the container.</span>
&nbsp;
builder.Services.AddDbContext&lt;StoreContext&gt;<span class="br0">&#40;</span>options =&gt;
<span class="br0">&#123;</span>
    options.UseSqlServer<span class="br0">&#40;</span>builder.Configuration.GetConnectionString<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;DefaultConnection&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;
<span class="br0">&#125;</span><span class="br0">&#41;</span>;
&nbsp;
&nbsp;
builder.Services.AddScoped&lt;IProductRepository, ProductRepository&gt;<span class="br0">&#40;</span><span class="br0">&#41;</span>;
builder.Services.AddScoped<span class="br0">&#40;</span><span style="color: #0000ff;">typeof</span><span class="br0">&#40;</span>IGenericRepository&lt;&gt;<span class="br0">&#41;</span>, <span style="color: #0000ff;">typeof</span><span class="br0">&#40;</span>GenericRepository&lt;&gt;<span class="br0">&#41;</span><span class="br0">&#41;</span>;
&nbsp;
<span style="color: #808080;">// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi</span>
<span style="color: #808080;">// builder.Services.AddOpenApi();</span>
builder.Services.AddControllers<span class="br0">&#40;</span><span class="br0">&#41;</span>; 
<span style="color: #0000ff;">var</span> app = builder.Build<span class="br0">&#40;</span><span class="br0">&#41;</span>;
&nbsp;
&nbsp;
app.UseMiddleware&lt;ExceptionMiddleware&gt;<span class="br0">&#40;</span><span class="br0">&#41;</span>;
&nbsp;
app.UseCors<span class="br0">&#40;</span>x =&gt; x.AllowAnyHeader<span class="br0">&#40;</span><span class="br0">&#41;</span>.AllowAnyHeader<span class="br0">&#40;</span><span class="br0">&#41;</span>
.WithOrigins<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;http://localhost:4200&quot;</span>, <span style="color: #FF0000;">&quot;https://localhost:4200&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;
&nbsp;
&nbsp;
&nbsp;
app.UseCors<span class="br0">&#40;</span><span class="br0">&#41;</span>; 
&nbsp;
app.MapControllers<span class="br0">&#40;</span><span class="br0">&#41;</span>;
&nbsp;
<span style="color: #808080;">// Configure the HTTP request pipeline.</span>
<span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>app.Environment.IsDevelopment<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    app.MapOpenApi<span class="br0">&#40;</span><span class="br0">&#41;</span>;
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
<span style="color: #0000ff;">try</span>
<span class="br0">&#123;</span>
    <span style="color: #808080;">// using var scope = app.Services.CreateScope();</span>
    <span style="color: #808080;">// var services = scope.ServiceProvider;</span>
    <span style="color: #808080;">// var context = services.GetRequiredService&lt;StoreContext&gt;();</span>
&nbsp;
    <span style="color: #808080;">// if (!context.Database.CanConnect())</span>
    <span style="color: #808080;">// { Console.WriteLine(&quot;Impossible de se connecter &agrave; la base de donn&eacute;es&quot;); }</span>
    <span style="color: #808080;">// await context.Database.MigrateAsync();// Si la Db n'existe pas, elle va la cr&eacute;er</span>
    <span style="color: #808080;">// await StoreContextSeed.SeedAsync(context);// Peupler la Db avec des donn&eacute;es de test</span>
<span class="br0">&#125;</span>
&nbsp;
<span style="color: #0000ff;">catch</span> <span class="br0">&#40;</span>Exception ex<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    Console.WriteLine<span class="br0">&#40;</span>ex.Message<span class="br0">&#41;</span>;
    <span style="color: #0000ff;">throw</span>;
<span class="br0">&#125;</span>
app.Run<span class="br0">&#40;</span><span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div>Voici le contenu de Terminal. Apparemment, il est impossible de lire les CORS. <br />
<br />
<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p670694d1759367772/dotnet/developpement-web-net/asp-net/erreur-404-due-erreur-d-ordonnancement-middlewares-fichier-programs-cs/capture-d-ecran-2025-10-02-011507.png/" border="0" alt="Nom : Capture d'écran 2025-10-02 011507.png
Affichages : 105
Taille : 16,1 Ko"  style="float: CONFIG" /><br />
<br />
Quelqu'un aurait-il une idée?</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p670694d1759367772/dotnet/developpement-web-net/asp-net/erreur-404-due-erreur-d-ordonnancement-middlewares-fichier-programs-cs/capture-d-ecran-2025-10-02-011507.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f488/dotnet/developpement-web-net/asp-net/">ASP.NET</category>
			<dc:creator>Alexandre le Grand</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2179602/dotnet/developpement-web-net/asp-net/erreur-404-due-erreur-d-ordonnancement-middlewares-fichier-programs-cs/</guid>
		</item>
		<item>
			<title>Impossible de se connecter à la BDD SQL SERVER</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2178751&amp;goto=newpost</link>
			<pubDate>Thu, 21 Aug 2025 14:49:04 GMT</pubDate>
			<description>Bonjour, 
Je suis débutant en...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
Je suis débutant en programmation ASP.NET C#. <br />
Je voudrais me connecter à mon serveur MSSQLSERVER mais j'ai une erreur qui m'indique que le serveur n'a pas été trouvé ou n'est pas accessible.<br />
J'ai fait de recherche que le NET mais aucune solution ne marché jusqu'à présent. <br />
<br />
<b>Code de connexion au serveur MS SQLSERVER</b><br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br /></div></td><td valign="top"><pre style="margin: 0"> <span style="color: #FF0000;">&quot;ConnectionStrings&quot;</span>: <span class="br0">&#123;</span>
   <span style="color: #FF0000;">&quot;DefaultConnection&quot;</span>: <span style="color: #FF0000;">&quot;Server=.<span style="color: #800000;">\\</span>MSSQLSERVER;Database=Event;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True&quot;</span>
 <span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div><b>Message d'erreur</b><br />
<i><b>A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 25 - Connection string is not valid)</b></i><br />
<br />
<b>Instance du serveur en cours</b><br />
<img src="https://www.developpez.net/forums/attachments/p669681d1755787682/dotnet/developpement-web-net/asp-net/impossible-se-connecter-bdd-sql-server/capture-d-ecran-2025-08-21-144315.png/" border="0" alt="Nom : Capture d'écran 2025-08-21 144315.png
Affichages : 214
Taille : 5,6 Ko"  style="float: CONFIG" /></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p669681d1755787682/dotnet/developpement-web-net/asp-net/impossible-se-connecter-bdd-sql-server/capture-d-ecran-2025-08-21-144315.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f488/dotnet/developpement-web-net/asp-net/">ASP.NET</category>
			<dc:creator>karamaster</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2178751/dotnet/developpement-web-net/asp-net/impossible-se-connecter-bdd-sql-server/</guid>
		</item>
		<item>
			<title>Redirection API REST</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2177576&amp;goto=newpost</link>
			<pubDate>Wed, 18 Jun 2025 11:08:38 GMT</pubDate>
			<description><![CDATA[Bonjour, 
J'essaie de faire...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
J'essaie de faire une sorte de redirecteur mais je ne sais pas si cela est faisable<br />
<br />
Je suis concentrateur de flux pour un ensemble de service<br />
Pour les services pour lesquels je dois faire la jonction en REST, j'utilise le redirecteur IIS<br />
<br />
Le souci est que je ne peux pas récupérer les traces JSON en entrée pour en faire des stats alros je voudrais modifier ce fonctionnement en procédant ainsi<br />
<br />
- Faire un Ws en Rest<br />
- Plugguer les appel sur ce Ws<br />
- Rediriger l'appel vers sa destination<br />
- en profiter pour attrapper la requête JSON pour la traiter<br />
<br />
Je ne trouve pas la mécanique de redirection et surtout, je dois renvoyer les header, conexte, etc.....<br />
Une sorte de poxy que je veux mettre en place qui va me permettre d'attrapper le contenu du flux qui passe</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f488/dotnet/developpement-web-net/asp-net/">ASP.NET</category>
			<dc:creator>helios77</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2177576/dotnet/developpement-web-net/asp-net/redirection-api-rest/</guid>
		</item>
		<item>
			<title>rendre une page asp ou html invisible</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2176819&amp;goto=newpost</link>
			<pubDate>Tue, 13 May 2025 08:33:02 GMT</pubDate>
			<description>Bonjour à tous,  
Je cherche...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous, <br />
Je cherche le moyen pour créer une page asp ou html invisible à l'utilisateur.<br />
Si quelqu'un a une idée...</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f488/dotnet/developpement-web-net/asp-net/">ASP.NET</category>
			<dc:creator>xeron33</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2176819/dotnet/developpement-web-net/asp-net/rendre-page-asp-html-invisible/</guid>
		</item>
	</channel>
</rss>
