2012-07-02 5 views
2

при нажатии кнопки отправки я хочу создать всплывающее меню, отображающее список элементов. Код я попытался создать всплывающее выглядит следующим образом: `генерация всплывает при нажатии кнопки

Индекс Вид:

<script type="text/javascript"> 
$('#popUp').Hide(); 
$('#button').click(function() { 
    $('#popUp').click(); 
}); 
</script> 

<div class="left-panel-bar"> 
@using (Html.BeginForm(FormMethod.Post)) 
{ 
     <p>Search For: &nbsp;</p> 
     @Html.TextBox("companyName",Model); 
     <input id="button" type="submit" value="Submit" /> 
} 
</div> 

<div id="popUp"> 
    @Html.ActionLink("Get Company List", "CreateDialog", "Company", null, new 
    { 
     @class = "openDialog", 
     data_dialog_id = "emailDialog", 
     data_dialog_title = "Get Company List" 
    }); 
</div> 

, но я получил проблемы с использованием этого кода .. когда я нажимаю кнопку отправить это открывает другую страницу вместо всплывающего окна. Код контроллера заключается в следующем:

[HttpPost] 
public ActionResult Index(Companies c) 
{ 
    Queries q1 = new Queries(c.companyName); 
    if (Request.IsAjaxRequest()) 
     return PartialView("_CreateDialog", q1); 
    else 
     return View("CreateDialog", q1); 
} 

ответ

1

Вы можете использовать AJAX:

<script type="text/javascript"> 
    $(function() { 
     $('form').submit(function() { 
      $.ajax({ 
       url: this.action, 
       type: this.method, 
       data: $(this).serialize(), 
       success: function(result) { 
        $('#popUp').html(result); 
       } 
      }); 
      return false; 
     }); 
    }); 
</script> 

<div class="left-panel-bar"> 
    @using (Html.BeginForm()) 
    { 
     <p>Search For: &nbsp;</p> 
     @Html.TextBox("companyName", Model); 
     <input id="button" type="submit" value="Submit" /> 
    } 
</div> 

<div id="popUp"> 
</div> 

Теперь EHN форма отправлена, с запросом на AJAX будет отправлено на действие по индексу и так как внутри вы проверить, если запрос был запросом AJAX, он возвращает частичный вид _CreateDialog.cshtml и вставляет его в div #popUp. Также важно вернуть false из обработчика отправки формы, чтобы отменить настройку по умолчанию, даже если это необходимо для перенаправления браузера с текущей страницы.

+0

спасибо за ответ, с которым он работал, теперь мне нужно показать диалог в диалоговом окне ajax, как я могу это сделать? –

+0

Вы можете использовать диалог диалога jQuery UI. –

+0

Привет, Я создал ajax-диалог с помощью диалогового окна управления JQuery UI, теперь я хочу создать хелпер Html для него. Как я могу это сделать? Вы дадите мне некоторые идеи ??? –

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