Я хочу отправить объект или, по крайней мере, его идентификатор от контроллера к другому контроллеру, так как я могу это сделать? Как отправить переменную с контроллера на другую в asp.net mvcсвязь между контроллерами asp.net mvc by viewdata
Эта инструкция решает проблему или просто для связи с контроллером-просмотром? это метод в первом контроллере:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult login(Utilisateur u)
{
if (u.login != null && u.Password != null)
{
using (BD_GestionDepences db = new BD_GestionDepences())
{
string x;
string hash = GetSHA1HashData(u.Password);
x = hash;
u.Password = x;
u.ConfirmPassword = x;
Utilisateur utilisateurV = log_existe("admin", u.login, u.Password);
if (utilisateurV != null)
{
return RedirectToAction("admin");
}
else { ViewBag.ResultMessage = "verifier login et password !"; }
}
}
return View(u);
}
и это мой второй контроллер: я хочу отправить логин пользователя из метода входа в первый контроллер для метода создания в этом контроллер:
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using Kendo.Mvc.Extensions;
using Kendo.Mvc.UI;
using mvc_depences.Models;
namespace mvc_depences.Controllers
{
public class ProjetController : Controller
{
private BD_GestionDepences db = new BD_GestionDepences();
public ActionResult Index()
{
return View();
}
//public ActionResult beforeCreate()
//{
//}
public ActionResult Create()
{
ViewBag.UtilisateurID = new SelectList(db.Utilisateurs, "UtilisateurID");
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ProjetId,nomP,DateDebut,DateFinPrevue,DateFinReele,etat,Description,UtilisateurID")]Projet projet)
{
if(ModelState.IsValid)
{
db.Projets.Add(projet);
db.SaveChanges();
return RedirectToAction("Index");
};
return View(projet);
}
public ActionResult Projet_Read([DataSourceRequest]DataSourceRequest request)
{
IQueryable<Projet> projets = db.Projets;
DataSourceResult result = projets.ToDataSourceResult(request, projet => new
{
ProjetId = projet.ProjetId,
nomP = projet.nomP,
DateDebut = projet.DateDebut,
DateFinPrevue = projet.DateFinPrevue,
DateFinReele = projet.DateFinReele,
etat = projet.etat,
});
return Json(result);
}
//public ActionResult Index()
//{
// return View();
//}
}
}
Как вы называете другого контроллера и какие подписи методов контроллера? (и нет, вы не можете использовать 'ViewData') –
« Как вы называете другого контроллера »!!? я не звоню! мне просто нужно отправить int с контроллера на другой (т. е. когда пользователь регистрируется, я отправляю его логин в «ProjectController», чтобы поместить его в качестве ключа foriegn, когда этот пользователь создает новый проект (у меня есть объект, называемый проектом)) – kokomoi
Вы спрашиваете состояния: как отправить переменную от контроллера к другому_ (еще что?) –