Не происходит событие нажатия кнопки ASP.NET - PullRequest
0 голосов
/ 13 сентября 2010

Я относительно новичок в ASP.NET. У меня есть проект веб-приложения ASP.NET MVC 2 (созданный в Visual Studio 2010). Я добавил метод HomeController под названием Поиск

public ActionResult Search()
{
    return View();
}

и создал соответствующий вид (веб-страницу) с именем Search.aspx, на который я опустил кнопку. Я дважды щелкнул кнопку, чтобы добавить обработчик для события нажатия кнопки, который устанавливает текст TextBox, а затем построил приложение.

<script runat="server">


protected void MyButton1_Click(object sender, EventArgs e)
{
    System.Diagnostics.Debug.WriteLine("Undo button clicked");
    m_search_text_box.Text = "MyButton1_Click";
}

...

Когда я нажимаю кнопку в своем браузере (я тестировал в Chrome и Internet Explorer), ничего не происходит. Текстовое поле не обновляется. В окно вывода тоже ничего не записывается. Таким образом, это не похоже на то, что событие запускается. Кто-нибудь может предложить какие-либо предложения? Я использую Visual Studio 2010 в Windows 7.

Спасибо

Ответы [ 2 ]

2 голосов
/ 13 сентября 2010

Вы смешиваете обработку событий WebForms в приложении MVC. MVC не работает как WebForms. Ознакомьтесь с учебными пособиями по MVC2 , которые помогут вам начать правильный путь.

Вот пример приложения с пошаговыми руководствами, помогающими освоить основы MVC.

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

ASP.NET MVC не использует код за такими обработчиками.Вы используете действия контроллера для ответа на запросы и решаете, как визуально обрабатывать их (то есть: вы можете визуализировать представление, или вернуть объект JSON, или перенаправить на другое действие и т. Д.).

В вашем случае, еслиВы хотите поместить некоторый текст в текстовое поле после того, как пользователь нажал кнопку, вы хотите поместить кнопку «Отправить» в форму и создать действие контроллера для ответа на нее:

[HttpPost]
public ActionResult Search()
{
    var model = new SearchModel();
    model.StatusText = "MyButton1_Click";

    return View(model);
}

ВПо вашему мнению, вы хотите использовать эту модель и поместить ее значение свойства StatusText в текстовое поле:

<%= Html.TextBoxFor(x => x.StatusText) %>

Посмотрите на веб-сайт ASP.NET MVC , который имеетмножество замечательных учебников по началу работы и учебник Nerd Dinner (бесплатная глава в книге).

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