У меня есть представление под названием «Ассоциации», в котором есть раскрывающийся список и кнопка. Когда пользователь выбирает опцию и нажимает «отправить», я хочу, чтобы он пошел в Association / {associationKey}. Ассоциация должна работать на получение и должность.
В настоящее время с кодом, приведенным ниже, когда форма публикуется, она отправляется в Ассоциацию и отображает правильную запись, НО она не добавляет ключ ассоциации к URL-адресу.
Итак, я получаю:
http://localhost/Association
вместо:
http://localhost/Association/202
Если я вручную перехожу к http://localhost/Association/202, все работает отлично, так что get и post оба работают нормально ... Мне просто нужен ключ в URL после сообщения!
Конечно, должно быть что-то очень простое, я делаю не так. Соответствующий код ниже.
Спасибо!
АССОЦИАЦИИ:
<% Html.BeginForm("Association", "Staff", FormMethod.Post); %>
<%:Html.DropDownList("associationKey", new SelectList(Model.Associations.ToList(), "AssociationKey", "LegalName"))%>
<input type="submit" value="Edit The Selected Record" />
<% Html.EndForm(); %>
STAFF контроллер:
[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
public ActionResult Association(int associationKey)
{
return View("Association", new AssociationViewModel(associationKey));
}
global.asax:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("Default", "{action}", new { controller = "Staff", action = "Default" });
routes.MapRoute("Associations", "Associations", new { controller = "Staff", action = "Associations" });
routes.MapRoute("Association", "Association/{associationKey}", new { controller = "Staff", action = "Association" });
}
АССОЦИАЦИЯ посмотреть модель:
public class AssociationViewModel
{
public Repository db = new Repository();
public Association Association {get; private set; }
public List TelephoneTypes { get; private set; }
public AssociationViewModel(int associationKey)
{
Association = db.AssociationById(associationKey);
TelephoneTypes = db.ListTelephoneTypes().ToList();
}
}