Jquery 从自身刷新局部视图

Jquery 从自身刷新局部视图,jquery,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-partialview,Jquery,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc Partialview,所以我有一个真正的,我相信,相当愚蠢的问题 所以我得到了我的主视图,我称之为局部视图 下面是从控制器调用局部视图的代码 public ActionResult DetailsBref(int id, string n, string m) { //id = id de l'initiative, n = user, m = mobile ViewBag.initiative = id; ViewBag.user = int.

所以我有一个真正的,我相信,相当愚蠢的问题

所以我得到了我的主视图,我称之为局部视图

下面是从控制器调用局部视图的代码

        public ActionResult DetailsBref(int id, string n, string m)
    {
        //id = id de l'initiative, n = user, m = mobile
        ViewBag.initiative = id;
        ViewBag.user = int.Parse(n);

        var retourContenu = new List<Contenu>();
        var listUser = new List<Utilisateur>();

        WebRequestHandler handler = new WebRequestHandler();
        //Client http pour se connecter à la web api
        HttpClient MyClient = new HttpClient(handler);

        //secure
        CS_Cryptage crypt = new CS_Cryptage();
        string authInfo = crypt.Crypter("StageChwapi", 3);
        //string authInfo = "StageChwapi";
        authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
        MyClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authInfo);

        MyClient.BaseAddress = new Uri("http://localhost:62624/");
        MyClient.DefaultRequestHeaders.Accept.Clear();
        MyClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); //demande du Json
        /*Récupération des contenus*/
        HttpResponseMessage responseContent = MyClient.GetAsync("api/ApiStage/GetContenu/" + id).Result; //contact de la méthode GetProfil
        if (responseContent.IsSuccessStatusCode)
        {
            retourContenu.AddRange(responseContent.Content.ReadAsAsync<List<Contenu>>().Result); //permet le mappage depuis le Json
        }
        /*Récupération des utilisateurs*/
        HttpResponseMessage responseUtilisateur;
        foreach (var tmp in retourContenu)
        {
            responseUtilisateur = MyClient.GetAsync("api/ApiStage/GetUtilisateur/" + tmp.FkIdutilisateur).Result;
            if (responseContent.IsSuccessStatusCode)
            {
                //var user = 
                listUser.Add(responseUtilisateur.Content.ReadAsAsync<Utilisateur>().Result); //permet le mappage depuis le Json
                //tmp.NomPrenom = user.Nom + " " + user.Prenom;
            }
        }

        ViewBag.Contenu = retourContenu;
        ViewBag.Utilisateurs = listUser;
        ViewBag.Mobile = m;
        return PartialView(@"~\Views\Shared\_DetailsBref.cshtml", retourContenu);
    }
最后,这里是重点。我明白了

谢谢你为我花时间


祝你有愉快的一天

您是否从操作内部调用自己的API方法?您使用PartialView的方式对我来说非常奇怪。您似乎正在进行另一个HTTP调用,以将原始HTML拉入您的页面,而第一次请求时页面中应该已经嵌入了部分视图。@BradChristie不,他们在服务器上,但我必须隐藏链接,因为我正在实习。@m.edmondson我对asp.Net非常陌生,所以我会尽我所能。如果你有什么办法来改进我的代码,我愿意听你说D@Erunayc:查看
RestSharp
,并查看如何将其转化为可一次性引用的服务/存储库(如
contenuService.Add(c)
contenuService.Get(id)
)。
<script type="text/javascript">
    function getView(id, n) {
        var url = "@Html.Raw(Url.Action("DetailsBref", "Alfred", new { id = "-id", n = "-n" }))";
        url = url.replace("-id", id);
        url = url.replace("-n", n);
        $('#mainContent').load(url);
    }
</script>
        [ValidateInput(false)]
    public ActionResult SaveUpdate(string editor1, int idcontenu, int user)
    {
        string save = "";
        if (editor1 != null)
            save = TraitementCommentaire(editor1);
        var c = new Contenu();
        c.Idcontenu = idcontenu;
        c.FkIdutilisateur = user;
        c.Donnee = Encoding.Default.GetBytes(editor1);
        c.Datemodif = System.DateTime.Now;

        WebRequestHandler handler = new WebRequestHandler();
        //Client http pour se connecter à la web api
        HttpClient MyClient = new HttpClient(handler);

        //secure
        CS_Cryptage crypt = new CS_Cryptage();
        string authInfo = crypt.Crypter("StageChwapi", 3);
        //string authInfo = "StageChwapi";
        authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
        MyClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authInfo);

        MyClient.BaseAddress = new Uri("http://localhost:62624/");
        MyClient.DefaultRequestHeaders.Accept.Clear();
        MyClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); //demande du Json
        HttpResponseMessage response = MyClient.PostAsJsonAsync("api/ApiStage/PostUpdateContenu", c).Result;
        if (response.IsSuccessStatusCode)
        {
            //textHtml.Text = response.Content.ReadAsAsync<string>().Result; //permet le mappage depuis le Json
        }

        return new EmptyResult();
    }
    <script type="text/javascript">
    function getView(id, n) {
        var url = "@Html.Raw(Url.Action("DetailsBref", "Alfred", new { id = "-id", n = "-n" }))";
        url = url.replace("-id", id);
        url = url.replace("-n", n);
        $('#mainContent').load(url);
    }
</script>
 getView(40375,5489);