Советы / предложения по работе с несколькими кнопками в форме ASP.NET MVC3? - PullRequest
1 голос
/ 07 июня 2011

У меня есть страница, которая динамически генерирует любое количество элементов div.Внутри div находится куча пользовательской информации с текстовой областью и кнопкой для закрытия записи.Пожалуйста, взгляните на HTML здесь (я убрал все вещи, которые не требуются для ответа на мой квест):

 <form action="/Recruiter" method="post"> 

 <span id="1" class="underline" >Click Here</span>
 <div id="notes_1" style="display: none;">
   <textarea cols="30" id="PostBodyText" name="PostBodyText" rows="10"></textarea>
 </div>

 <input id="btnCloseOut" type="submit" name="Command" value="Close out" title="Close out."/>
 <input type="hidden" name="recruiterQueueId" value="2" />
 <input type= "hidden" name="queueRecordId" value="1" />

 <span id="2" class="underline" >Click Here</span>
 <div id="notes_2" style="display: none;">
   <textarea cols="30" id="PostBodyText" name="PostBodyText" rows="10"></textarea>
 </div>

 <input id="btnCloseOut" type="submit" name="Command" value="Close out" title="Close out."/>
 <input type="hidden" name="recruiterQueueId" value="2" />
 <input type="hidden" name="queueRecordId" value="2" />

 <span id="3" class="underline" >Click Here</span>
 <div id="notes_3" style="display: none;">
   <textarea cols="30" id="PostBodyText" name="PostBodyText" rows="10"></textarea>
 </div>

 <input id="btnCloseOut" type="submit" name="Command" value="Close out" title="Close out."/>
 <input type="hidden" name="recruiterQueueId" value="2" />
 <input type="hidden" name="queueRecordId" value="3" />

И, наконец, вот то, на что похож элемент контроллера, который публикуется:

[HttpPost] 
    public ActionResult Index(int recruiterQueueId, int queueRecordId, string postBodyText)
    {
        CloseOutQueueRecordResponse response =
            checkInService.CloseOutQueueRecordRequest
            (
                new CloseOutQueueRecordRequest()
                {
                    RecruiterQueueId = recruiterQueueId,
                    QueueRecordId    = queueRecordId,
                    CloseOutNotes    = postBodyText
                }
            );
            // details ommitted...

}

Проблема в том, что информация из первого div всегда публикуется независимо от того, какую кнопку я нажимаю.Я не жалуюсь на это, это то, что он должен делать.Я просто ищу идеи / предложения о том, как разместить информацию, которую я хочу

ИЛИ

... другая вещь, о которой я думал, была внутри кнопкииспользуя @ Html.ActionLink .... это почти сработало для меня.Мне удалось получить соответствующие идентификаторы для контроллера, но я пока не могу извлечь содержимое текстовой области в этом случае ...

Какие-либо советы / предложения?

1 Ответ

1 голос
/ 08 июня 2011

Если вас интересуют данные только одного «div», вы можете создать форму для каждого div. Будут опубликованы только данные из формы, в которой находится кнопка отправки.

Также: идентификаторы каждого элемента должны быть уникальными. Так что вы должны работать над этим. Вам не нужно указывать ID.

Имена не обязательно должны быть уникальными. Если вы используете несколько форм, все будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...