Asp MVC AJAX динамические параметры - PullRequest
1 голос
/ 26 мая 2011

Я не уверен, как сформулировать это, но здесь ничего не идет.

У меня есть контроллер с двумя параметрами: 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 параметрами, а не сложным объектом, если это возможно.

...