Как извлечь данные из HTML.TextArea, содержащегося в цикле foreach, используя JQuery или другие средства - PullRequest
0 голосов
/ 25 сентября 2010

Я новичок в jQuery.У меня есть Html.TextArea с именем «CommentPost» для каждого элемента в цикле foreach.Я пытаюсь вернуть данные, введенные в мою текстовую область, в качестве параметра моего вызова ActionLink.Первый параметр item.CommentId заполняется правильно, а второй item.CommentPosting оценивается как нулевой.Я подумал, что, возможно, вызов jQuery - когда будет выбран ActionLink - мог бы решить это для меня.Я пытаюсь решить эту проблему часами, но не приближаюсь.Я знаю, что $('#CommentPost').attr("value") дает правильный текст, но то, как все это сложить, мне не под силу.Пожалуйста, помогите

<% foreach (var item in Model.Comments)
   { %>
    <%= (item.UserName ) %>
<%= Html.TextArea("CommentPost", item.CommentPosting)%>
<%= Html.ActionLink("Save", "CommentPosting", new { commentId = item.CommentId , commentPost =item.CommentPosting})%>
<% }%>

Оболочка моего контроллера выглядит следующим образом:

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult CommentPosting(int commentId, string commentPos)
{

}

1 Ответ

0 голосов
/ 28 сентября 2010

Хорошо, я решил это ... в конце концов (после молитвы за вдохновение)!

Вот что я сделал:

Я изменил свой HTML.Actionlink, жестко закодировав значение «test» для моего параметра commentPost, а затем подключил новый вызов javaScript GetData (ссылка) к событию onClick. Этот вызов javascript изменяет жестко закодированное значение на правильное значение:

<% = Html.ActionLink ("Сохранить", "CommentPosting", новый {commentId = item.CommentId, commentPost = "test"}, новый {onClick = "GetData (this);"})%>

Затем я создал свою функцию JavaScript:

function GetData(link) {
    var temp = link.previousElementSibling;
    link.originalHref = link.originalHref || link.href;
    link.href = link.originalHref.replace("test", $(temp).attr("value"));
    return true;
}

Хорошо, слава Богу, теперь все работает!

...