Allora Marco intanto grazie per l' aiuto che potrai darmi.
ho 2 errori che non riesco a capire il perchè in locale, sia usando la console che IIS express funzionano invece dopo averlo pubblicato non funziona più intanto pongo il primo:
in una lista di dipendenti ho la maschera in pop up modal per fare le modifiche la view della maschera principale è :
@model PaginatedList<Cedolini.Models.Utente>
@{
    ViewBag.Title = "Gestione Utenti";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
    <h2 style="text-align:center"> <strong>Elecno Utenti</strong></h2>
    <form asp-action="GestioneUtenti" method="get">
        <div class="form-actions no-color">
            <p>
                Cerca: <input type="text" name="SearchString" value="@ViewData["CurrentFilter"]" />
                <a class="btn btn-primary btn-small" asp-action="GestioneUtenti">Annulla Ricerca</a>
            </p>
        </div>
    </form>
    <table class="table">
        <thead>
            <tr>
                <th>
                    <a asp-action="GestioneUtenti" asp-route-sortOrder="@ViewData["CognomeSortParm"]" asp-route-currentFilter="@ViewData["CurrentFilter"]">Cognome</a>
                </th>
                <th>
                    Nome
                </th>
                <th>
                    Codice Fiscale
                </th>
                <th>
                    Password
                </th>
                @{if (Context.User.IsInRole("1"))
                    {
                        <th>
                            <a onclick="showInPopup('@Url.Action("UtenteModifica", "Admin",new { Id = 0 }, Context.Request.Scheme)','Crea Nuovo Utente')"
                            class="btn btn-success text-white"><i class="fa fa-user fa-fw"></i>Crea Nuovo Utente</a>
                        </th>
                    }
                }
                <th></th>
            </tr>
        </thead>
        <tbody>
            @foreach (var item in Model)
            {
                <tr>
                    <td>
                        @Html.DisplayFor(modelItem => item.Cognome)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.Nome)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.CodiceFiscale)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.Password)
                    </td>
                    <td>
                        <a class="btn btn-primary" asp-controller="Publi" asp-action="DocumentiDipendenti" asp-route-id="@item.Id">Visualizza Cedolini</a>
                         <a onclick="showInPopup('@Url.Action("UtenteModifica", "Admin", new { id = item.Id }, Context.Request.Scheme)')"
                        class="btn btn-info text-white"><i class="fas fa-pencil-alt"></i> Modifica</a>
                      
                        @{if (Context.User.IsInRole("1"))
                            {
                                <form asp-action="DeleteUtente" asp-route-id="@item.Id" onsubmit="return jQueryAjaxDelete(this)" class="d-inline">
                                    <input type="hidden" asp-for="@item.Id" /> <input type="submit" value="Elimina" class="btn btn-danger" />
                                </form>
                            }
                        }
                    </td>
                </tr>
            }
        </tbody>
    </table>
@{
    var prevDisabled = !Model.HasPreviousPage ? "disabled" : "";
    var nextDisabled = !Model.HasNextPage ? "disabled" : "";
}
    
<a asp-action="GestioneUtenti" asp-route-sortOrder="@ViewData["CurrentSort"]" asp-route-pageNumber="@(Model.PageIndex - 1)" asp-route-currentFilter="@ViewData["CurrentFilter"]"
class="btn btn-primary @prevDisabled">
Precedente
</a>
<a asp-action="GestioneUtenti"
asp-route-sortOrder="@ViewData["CurrentSort"]" asp-route-pageNumber="@(Model.PageIndex + 1)" asp-route-currentFilter="@ViewData["CurrentFilter"]"
class="btn btn-primary @nextDisabled">
Successivo
</a>
ed il controller è
        [Authorize(Roles = "1,2")]
        [HttpGet]
        public async Task<IActionResult> GestioneUtenti(string searchString, string sortOrder, string currentFilter, int? pageNumber)
        {
            string SNome = HttpContext.Session.GetString("NomeCliente");
            ViewData["NomeCliente"] = SNome;
            ViewData["CurrentSort"] = sortOrder;
            ViewData["CognomeSortParm"] = String.IsNullOrEmpty(sortOrder) ? "Cognome_desc" : "";
            ViewData["CodiceSortParm"] = sortOrder == "Codice" ? "Codice_desc" : "Codice";
            if (searchString != null)
            {
                pageNumber = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewData["CurrentFilter"] = searchString;
            var UtenteElenco = await _context.Utenti.FromSqlRaw("SELECT * FROM Utenti Where NomeUtente <>'admin'").AsNoTracking().ToListAsync();
            //CONTROLLO SE LA RICERCA è VUOTA
            if (!String.IsNullOrEmpty(searchString))
            {
                //Controllo se nella ricerca ci sono apostrofo e le raddoppio
                searchString = searchString.Replace("'", "''");
                //Controllo se la Ricerca è Numerica o AlfaNumerica
                long number1 = 0;
                bool canConvert = long.TryParse(searchString, out number1);
                //Se la Ricerca è Numerica cerco la Matricola
                if (canConvert == true)
                    if (HttpContext.Session.GetString("Ruolo") == "1")
                    {
                        switch (sortOrder)
                        {
                            case "Cognome_desc":
                                UtenteElenco = await _context.Utenti.FromSqlRaw("SELECT * FROM Utenti Where NomeUtente <>'admin'").AsNoTracking().ToListAsync();
                                break;
                            default:
                                UtenteElenco = await _context.Utenti.FromSqlRaw("SELECT * FROM Utenti Where NomeUtente <>'admin'").AsNoTracking().ToListAsync();
                                break;
                        }
                    }
                //Se la Ricerca è AlfaNumerica Cerco Sul Cognome o Codice Fiscale
                else
                            switch (sortOrder)
                    {
                        case "Cognome_desc":
                            UtenteElenco = await _context.Utenti.FromSqlRaw("SELECT * FROM Utenti WHERE Cognome LIKE '" + searchString + "%' OR CodiceFiscale LIKE '" + searchString + "%' " +
                                "AND NomeUtente <>'admin' ORDER BY Cognome DESC").AsNoTracking().ToListAsync();
                            break;
                        default:
                            UtenteElenco = await _context.Utenti.FromSqlRaw("SELECT * FROM Utenti  WHERE Cognome LIKE '" + searchString + "%' OR CodiceFiscale LIKE '" + searchString + "%' " +
                                "AND NomeUtente <>'admin' ORDER BY Cognome, Nome").AsNoTracking().ToListAsync();
                            break;
                    }
            }
            //se NON c'è Nessuna Ricerca
            else
                if (HttpContext.Session.GetString("Ruolo") == "1")
                    switch (sortOrder)
                    {
                        case "Cognome_desc":
                            UtenteElenco = await _context.Utenti.FromSqlRaw("SELECT * FROM Utenti Where NomeUtente <>'admin' ORDER BY Cognome DESC").AsNoTracking().ToListAsync(); ;
                            break;
                        default:
                            UtenteElenco = await _context.Utenti.FromSqlRaw("SELECT * FROM Utenti Where NomeUtente <>'admin' ORDER BY Cognome, Nome").AsNoTracking().ToListAsync();
                            break;
                    }
            //Definisco il NUmero di Record per Pagina
            int pageSize = 8;
            return View(await PaginatedList<Utente>.CreateAsync(UtenteElenco, pageNumber ?? 1, pageSize));
        }
fin qui tutto ok clicco su modifica e si apre il pop up
                         <a onclick="showInPopup('@Url.Action("UtenteModifica", "Admin", new { id = item.Id }, Context.Request.Scheme)')"
                        class="btn btn-info text-white"><i class="fas fa-pencil-alt"></i> Modifica</a>
che ha questa view
@model Cedolini.Models.Utente
@{
    ViewBag.Title = "Modifica Utente";
    Layout = null;
}
<div class="row">
    <div class="col-md-12">
        <form asp-action="UtenteModifica" asp-route-id="@Model.Id" onsubmit="return jQueryAjaxPost(this);">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <input type="hidden" asp-for="Id" />
            @*  <input type="hidden" asp-for="Date" />*@
            <div class="tab-content">
                <div class="tab-pane active" id="tab1">
                    <div class="form-group">
                        <label class="control-label">Codice Fiscale e Nome Utente</label>
                        <input asp-for="CodiceFiscale" class="form-control" />
                        <span asp-validation-for="CodiceFiscale" class="text-danger"></span>
                    </div>
                
                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label asp-for="Cognome" class="control-label"></label>
                                    <input asp-for="Cognome" class="form-control" />
                                    <span asp-validation-for="Cognome" class="text-danger"></span>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label asp-for="Nome" class="control-label"></label>
                                    <input asp-for="Nome" class="form-control" />
                                    <span asp-validation-for="Nome" class="text-danger"></span>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label asp-for="DataNascita" class="control-label"></label>
                                    <div class="input-group">
                                        <div class="input-group-prepend">
                                        </div>
                                        <input asp-for="DataNascita" class="form-control" />
                                    </div>
                                    <span asp-validation-for="DataNascita" class="text-danger"></span>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label asp-for="ComuneNascita" class="control-label"></label>
                                    <input asp-for="ComuneNascita" class="form-control" />
                                    <span asp-validation-for="ComuneNascita" class="text-danger"></span>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label asp-for="Ruolo" class="control-label"></label>
                                    <select id="comboboxRuolo" runat="server">
                                        <option value="1">Amministratore</option>
                                        <option value="2">Supervisore</option>
                                        <option value="3">Dipndente</option>
                                    </select>
                                    <input asp-for="Ruolo" class="form-control" />
                                    <span asp-validation-for="Ruolo" class="text-danger"></span>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <label asp-for="CodiceCliente" class="control-label"></label>
                                <select id="comboboxCliente" runat="server">
                                    <option value="51">Azienda Caltanissetta</option>
                                    <option value="52">Irf Caltanissetta</option>
                                    <option value="53">Irf Agrigento</option>
                                    <option value="54">Azienda Agrigento</option>
                                    <option value="55">Irf Palermo</option>
                                    <option value="56">Azienda Palermo</option>
                                    <option value="57">Azienda Enna</option>
                                    <option value="58">Irf Enna</option>
                                    <option value="59">Irf Trapani</option>
                                </select>
                                <div class="form-group">
                                    <label asp-for="CodiceCliente" class="control-label"></label>
                                    <input asp-for="CodiceCliente" class="form-control" />
                                    <span asp-validation-for="CodiceCliente" class="text-danger"></span>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label asp-for="Password" class="control-label"></label>
                                    <input asp-for="Password" class="form-control" />
                                    <span asp-validation-for="Password" class="text-danger"></span>
                                </div>
                            </div>
                        </div>
                    </div>
            </div>
            <div class="form-group">
                <div class="col-md-6 offset-md-3";">
                    <input type="submit" value="Modifica" OnClick="btnRefresh_Click" class="btn btn-primary btn-block" OnClientClick="hourglass(); return true;" />
                </div>
            </div>
        </form>
    </div>
</div>
e questo controller
        //UPDATE Dipendenti
        [Authorize(Roles = "1,2")]
        [HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> UtenteModifica(int Id, Utente Utenti)
        {
            if (ModelState.IsValid)
            {
                System.Diagnostics.Debug.WriteLine("id utente " +Id);
                //Update(Se devo aggiornare i dati del dipendente)
                if (Id != 0)
                {
                    try//Aggiorno i Dati
                    {
                        await _context.Database.ExecuteSqlRawAsync("UPDATE Utenti SET NomeUtente = N'" + Utenti.CodiceFiscale + "', Cognome =N'" + Utenti.Cognome + "', " +
                        "Nome ='" + Utenti.Nome + "', DataNascita ='" + Utenti.DataNascita + "', ComuneNascita ='" + Utenti.ComuneNascita + "', " +
                        "CodiceFiscale = '" + Utenti.CodiceFiscale + "', Ruolo = " + Utenti.Ruolo + ", CodiceCliente = " + Utenti.CodiceCliente + ", Password ='" + Utenti.Password + "' " +
                        "WHERE(ID = " + Id + ")");
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                       if (!UtenteExists(Utenti.Id))
                           { return NotFound(); }
                       else
                           { throw; }
                   }
                }
                else
                //Insert(Se ho premuto crea Nuovo dipendente)
                {
                    //Se Sono Presenti delle Apostrofi le Modifico
                    var Cognome = Utenti.Cognome.Replace("'", "''");
                    var Nome = Utenti.Nome.Replace("'", "''");
                    var ComuneNascita = Utenti.ComuneNascita.Replace("'", "''");
                    await _context.Database.ExecuteSqlRawAsync("INSERT INTO Utenti (NomeUtente,Password,Ruolo,Cognome,Nome,CodiceFiscale,DataNascita,ComuneNascita,CodiceCliente) " +
                        "SELECT N'" + Utenti.CodiceFiscale + "', N'" + Utenti.Password + "', " + Utenti.Ruolo + ",   N'" + Cognome + "', N'" + Nome + "', N'" + Utenti.CodiceFiscale + "', " +
                        " '" + Utenti.DataNascita + "', N'" + Utenti.ComuneNascita + "',"+Utenti.CodiceCliente+";");
                }
                //Seleziono i dati per la Maschera Dipendenti
                var UtentiAgg = await _context.Utenti.FromSqlRaw("SELECT * FROM Utenti Where NomeUtente <> 'admin'").AsNoTracking().ToListAsync();
                return Json(new { isValid = true, html = Helper.RenderRazorViewToString(this, "GestioneUtenti", UtentiAgg) });
            }
            return Json(new { isValid = false, html = Helper.RenderRazorViewToString(this, "UtenteModifica", Utenti) });
        }
ora il problema stà nel fatto che in locale funziona perfettamente ma dopo averlo pubblicato, dopo aver fatto una modifica a caso e premuto il pulsante modifica, non succede niente rimane aperto il pop up e non aggiorna le modifiche