所以我得到了一个真实的,我确定,非常愚蠢的问题。
所以我得到了我的主视图,我称之为局部视图。
以下是从控制器调用局部视图的代码。
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);
}
JScode在主视图中显示它。
<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>
Atm部分视图的参数是硬编码的。问题是局部视图是一个讨论线程,我可以通过单击主视图中的按钮来显示它。 但在局部视图中,我想添加编辑帖子的可能性,当它完成后,只重新加载局部视图。此时,用户可以编辑他的文本,修改将保存在数据库中,并在重新加载整个项目时显示,但不会重新加载。
这是控制器中的SaveUpdate方法,在用户完成时调用。
[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>
我在JQuery中称之为:
getView(40375,5489);
最后,这就是重点。我知道了。
http://i.stack.imgur.com/VqbnT.png
感谢我抽出时间!
祝你有个美好的一天!