Проблема с ActionLink - PullRequest
       18

Проблема с ActionLink

0 голосов
/ 19 апреля 2010

Я хочу знать, есть ли способ сделать что-то вроде веб-форм .. Или хороший способ сделать это .. У меня есть ActionLink ("foo", "fooAction") в моем представлении "Индекс". В этом fooAction я вызываю метод, который возвращает «True» или «False», и в зависимости от возврата я должен дать пользователю некоторую обратную связь и вернуть «Index» с теми же результатами + обратная связь.

В веб-формах мы просто устанавливаем "label.visible = true; | label.text = 'bla'" или w / e для метода.

Я ясно? Спасибо!

Edit:

Какой-нибудь псевдокод, который я бы сделал, используя веб-формы, чтобы лучше объяснить:

<asp:button OnCommand="method1">
  - Method1(){
    var response = ws.MethodFromWebService(); //call a method from the Web Service and get the return(true/false)
    if (response)
       feedbackLabel.Text = "worked";
    else
       feedbackLabel.Text = "didn't work";
    feedbackLabel.Visible = true;
    }

Я бы хотел сделать это без JavaScript.

Ответы [ 3 ]

1 голос
/ 19 апреля 2010

Разве вы не можете просто возвратить текст "работал" или "не работал"?

Так что вы можете сделать как

$.get("Foo/FooAction", function(html){
    $("#feedbackLabel").show().html(html);

});

Редактировать

На вашем действии

public ContentResult FooAction(){
    if(SomeThing())
        return "worked";
    else
        return "didnt worked";
}
0 голосов
/ 20 апреля 2010

Вы можете вызвать действие с помощью запроса jQuery $ .ajax. После того, как вы инициировали это, вы можете вернуть результат json с обратной связью и загрузить его в dom, используя jQuery. Для примера чего-то подобного нажмите здесь .

Надеюсь, это поможет, дайте мне знать, если это необходимо расширить: -)

0 голосов
/ 20 апреля 2010

Обычно это делается через Post - Redirect - Get.

Вы публикуете действие, которое изменяет некоторые данные. Это свойство dataobjects будет иметь значение yes или false.

Затем вы перенаправляете на действие, которое отображает данные (индекс).

Если да / нет, больше о том, было ли действие успешным или нет, тогда вы обычно помещаете результат в tempdata перед перенаправлением на индекс.

...