Как поместить несколько параметров Id в @URL.Действие и контроллер извлекает идентификатор - PullRequest
0 голосов
/ 07 октября 2018

У меня есть вид, подобный этому

<td><a href="@Url.Action("AddingAnnouncement", new { id = item.ScheduleID,name =item.EmployeeID})" class="btn btn-warning"><i class="fas fa-plus"></i> Adding Announcement</a></td>

Получение части идентификатора я получаю, но часть имени Я не могу получить часть имени для контроллера, когда перехожу по этой ссылкепередает идентификатор и имя да, но контроллер не может получить идентификатор имени или значение имени, как я могу получить это также?

Это мой контроллер

[Authorize(Roles = "Faculty")]
public ActionResult AddingAnnouncement(int? name)
{

    return View (name);

}

[HttpPost]
public ActionResult AddingAnnouncement(int? id,int? name, Announcement model, HttpPostedFileBase file)
{
    Announcement annc = new Announcement();
    var ErrorMessage = "";
    var filesize = 25000;
    foreach (var item in model.File)
    {
        try
        {
            var supportedTypes = new[] { "txt", "doc", "docx", "pdf", "xls", "xlsx" };
            var fileExt = System.IO.Path.GetExtension(file.FileName).Substring(1);
            if (!supportedTypes.Contains(fileExt))
            {
                ErrorMessage = "File Extension Is InValid - Only Upload WORD/PDF/EXCEL/TXT File";
                return Content(ErrorMessage);
            }
            else if (file.ContentLength > (filesize * 1024))
            {
                ErrorMessage = "File size Should Be UpTo " + filesize + "KB";
                return Content(ErrorMessage);
            }

            else
            {
                annc.MainAnnouncement = model.MainAnnouncement;
                annc.EmployeeID = name;
                annc.DatePosted = DateTime.Now;
                annc.ScheduleID = id;
                annc.DocumentFile = ConverToByte(item);
                annc.FileType = file.ContentType;
                annc.FileName = file.FileName;
                db.Announcements.Add(annc);
                string path = Path.Combine(Server.MapPath("~/Files/TeachingMaterials/"), Path.GetFileName(file.FileName));
                file.SaveAs(path);
                db.SaveChanges();
            }
        }
        catch (Exception ex)
        {
            ErrorMessage = "Upload Container Should Not Be Empty or Contact Admin";
            return Content(ErrorMessage);
        }



    }
    return RedirectToAction("FacultySchedule");
}

1 Ответ

0 голосов
/ 07 октября 2018

NVm нашел это, черт возьми, я никогда не думал, что это так просто, ха-ха XD

на контроллере get

    [Authorize(Roles = "Faculty")]
    public ActionResult AddingAnnouncement(int? name)
    {
        Announcement model = new Announcement();
        model.EmployeeID = name;
        return View(model);

    } 

, затем на посту

    [HttpPost]
    public ActionResult AddingAnnouncement(int? id,Announcement model,    HttpPostedFileBase file)
    {
    }
...