MVC 2.0: Как отправить простое значение TextBox в Action с помощью ActionLink? - PullRequest
1 голос
/ 22 февраля 2010

По сути, я не хочу использовать <input type="submit"> в основном потому, что это кнопка, я бы предпочел использовать ActionLink, поэтому я использую Ajax.ActionLink, и я не уверен, что поместить в аргумент routeValues ​​для чтобы забрать новые (отредактированные) данные (пользователь вводит комментарии и т. д.) и отправить их моему действию. кто-нибудь из вас знает? спасибо.

это то, что у меня есть, но, конечно, он отправляет исходный комментарий перед тем, как пользователь вернет его обратно на сервер / действие:)

<%= Ajax.ActionLink("Update", "UpdateComment", Model.Comment,
      New AjaxOptions With
      {.UpdateTargetId = Model.CommentDivId, .HttpMethod = "Post"})%>

ps: я знаю, как сделать это в javascript, и делать сообщения ajax и т. Д., Надеюсь найти и решение только для mvc

Ответы [ 4 ]

2 голосов
/ 01 марта 2010

В принципе, вы не можете сделать это в одиночку в ActionLink и MVC, вам нужно использовать JavaScript, чтобы достичь того, чего вы хотите! Если вы хотите использовать JavaScript, выше приведены примеры, которые вы можете выбрать!

Хотелось бы, чтобы был помощник HTML, поэтому нам не нужно было делать грязные jquery коллажи для доступа к данным формы в реальном времени, но нет, может быть, кто-то может создать помощника и поделиться им с нами?

1 голос
/ 28 февраля 2010

Я бы порекомендовал вам по-прежнему обернуть поле комментария формой и отправить поля с привязкой и некоторым javascript. Сгенерированный HTML выглядит так ...

<form id="the_form">
  <textarea id="comment"></textarea>
  <a href="javascript:{}" onclick="document.getElementById('the_form').submit(); return   false;">submit</a>
</form>

Вы можете легко заменить это HtmlHelper в MVC или каким-либо другим кодом ViewEngine, но суть в том, чтобы отправить форму со ссылкой (тег привязки), и параметры будут сопоставлены с методом действия.

Надеюсь, это поможет,

Eddy

PS. Вы также можете использовать Ajax.BeginForm для достижения того же.

0 голосов
/ 28 февраля 2010

Как насчет простого вызова ajax с помощью jQuery по нажатию вашей ссылки html? Что-то вроде это или это .

0 голосов
/ 23 февраля 2010

Если вас беспокоит только кнопка, то почему бы не применить немного CSS, чтобы превратить кнопку в ссылку? Никто не узнает разницу, и вы сэкономите немного работы.

Если это не то, что вам нужно, дайте мне знать, и я могу удалить этот ответ.

Что касается Ajax, я не уверен, что ваша модель будет обновлена, так как она должна быть вне области видимости. Я думаю, что способ сделать это - передать все ваши данные в виде переменных. На самом деле не идеальное решение.

Я бы использовал подход css на этом.

1010 * редактировать *

<head>
    <style>
        .buttonAsLink{ background-color:white; border:0; color:Blue; text-decoration:underline;}
        .buttonAsLink:hover{ text-decoration:none;}
    </style>
</head>
<body>
    <input class="buttonAsLink" type=submit value="Click Me" />
</body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...