Я не уверен, как сформулировать это, но здесь ничего не идет.
У меня есть контроллер с двумя параметрами: FindingId, TagId
public JsonResult Add(int FindingId, int TagId)
У меня есть Ajax ActionLink для вызова:
<%: Ajax.ActionLink( "Add", "Add", "FindingTag",
new { FindingId = Model.FindingId },
new AjaxOptions {
HttpMethod = "Post"
})
%>
У меня есть выпадающий список доступных тегов:
<%: Html.DropDownListFor(m => m, Model.AvailableTags, "Select Option..", new { id = "finding_" + Model.FindingId + "_AvailableTags" } )%>
Параметры заполняются следующим образом:
Вы можете видеть выше, что я заполняю FindingId, когда модель рендерится, так как она всегда будет одинаковой в этом подразделе. Это представление визуализируется несколько раз для разных результатов, поэтому FindingId будет меняться в зависимости от модели.
Однако TagId должен исходить из выбранного значения DropDownList.
Я не сопоставляю этот конкретный запрос с моделью представления для передачи, поэтому раскрывающийся список не привязан к определенному свойству. Я также создал маршрут для
/FindingTag/Add/{FindingId}/{TagId}
Итак, вот вопросы, которые это открыло, и я действительно надеюсь, что кто-то может помочь мне, поскольку этот материал действительно мне известен.
1) Я обнаружил, что href отображается как Add? FindingId = ##, и мне было любопытно, смогу ли я заставить это сделать в Add / ##
2) Есть ли более простой способ получить значение из выпадающего списка, чтобы добавить его к href для создания упомянутого выше маршрута?
Большую часть времени в проекте я использовал jQuery для своих вызовов ajax, поэтому я просто вручную создавал URL с нуля, но я действительно надеялся использовать версии MS на практике. Это кажется иррациональным? Дайте мне знать, если у вас есть какие-либо предложения или идеи ..
Edit:
Я не уверен, так ли это. Я нахожу людей, которые говорят, что используют форму и отправляют ее, но если у меня есть это в качестве части уже строго типизированного частичного представления, как мне получить значения, которые будут отправлены обратно в форму, которую я могу использовать, которая не полноценная модель? Я бы предпочел оставить его с 2 параметрами, а не сложным объектом, если это возможно.