| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка под ASP.NET > Asp.Net Mvc and Ajax- problem |
| Автор: YuriG 26.7.2009, 11:20 |
| Всем привет. Пытаюсь написать приложение с использованием асп.нет мвс. На мастер странице положил текстовое поле и кнопку : <%-- <% using (Html.BeginForm("SearchBySomeText", "Task", FormMethod.Get)){%>--%> <% using (Ajax.BeginForm("SearchBySomeText", "Task", new AjaxOptions { UpdateTargetId = "main", HttpMethod = "get" })) { %> <label for="Name"> Text to find : </label> <%= Html.TextBox("Text")%> <input type="submit" id="btnSearch" value="Search" onclick="return CheckInputValue()" /><br /> <%} %> Контроллер: [AcceptVerbs(HttpVerbs.Get)] public ActionResult SearchBySomeText(string Text) { if (Request.IsAjaxRequest()) { ViewData["SearchResults"] = _dataManager.Tasks.GetTasks(); return View("Search"); } else // for not ajax Search { ViewData["SearchResults"] = _dataManager.Tasks.GetTasks(); return View("Search"); } } Результат запроса вывожу в представлении Search.aspx : <%if (ViewData["SearchResults"]!= null) { %> <% foreach (MvcBug.Models.Task t in (IEnumerable<MvcBug.Models.Task>)ViewData["SearchResults"]) {%> <tr> <td> <%= Html.ActionLink("Open","Task",new { id = t.TaskId }) %> </td> <td> <%= t.Title %> </td> <td> <%= t.CreatedOn.ToLongDateString() %> </td> </tr> <% } %> <% } %> Проблема: Если использую аякс.запрос то когда получаю результат получаю повторно кнопки и поля с мастер страницы: http://pic.ipicture.ru/uploads/090726/9jZxmooo6C.jpg Еслиже использовать обычный запрос- все ОК. http://pic.ipicture.ru/uploads/090726/TRWHBxzT66.jpg При чем нет связи с тем что положил текст.поле и кнопку на мастер, так как положил такоеже поле на саму страницу и тоже самое- с Аякс запросом вижу повторно кнопки с мастер страницы |
| Автор: Bestoloch 26.7.2009, 17:36 | ||
Ваша проблема заключается в том, что в случае с Ajax запросом вы возвращаете в элемент с id="main" всю страницу, а нужно только необходимую часть.
где SearchResult это ascx контрол (SearchResult.ascx) |
| Автор: YuriG 27.7.2009, 14:14 |
Спасибо. Вроде помогло |
| Автор: Bestoloch 27.7.2009, 14:46 |
| Тогда пометьте вопрос как решенный. |