2010-04-19 1 views
0

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

В веб-формах мы просто установили для метода метод 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.

+0

Немного смущенный. так что вы хотите передать true или false вашему Action Controller? –

+0

Да, без изменения результата на вид. – Daniel

ответ

1

Не можете ли вы просто вернуть текст «работал» или «не работал»?

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

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

}); 

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

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

public ContentResult FooAction(){ 
    if(SomeThing()) 
     return "worked"; 
    else 
     return "didnt worked"; 
} 
+0

Извините, забыл упомянуть, что я не могу использовать javascript, как это. – Daniel

+0

@ Даниэль, почему бы и нет? это техническое ограничение? – mxmissile

0

Сво обычно делается через столб - Перенаправление -get.

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

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

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

0

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^