2010-09-29 7 views
0

У меня есть форма (эта форма является всплывающей), в которой у меня есть JQGrid и набор полей, которые я хочу отправить контроллеру. Ниже часть формыHtml.BeginForm всплывает в новом окне

<% using (Html.BeginForm("Index", "Role"))   
     { 

    %> 
    <tr> 
     <td> 
      <%= Html.Hidden("RoleId")%> 
      <%= Html.Label("Priority:")%> 
     </td> 
     <td> 
      <%= Html.TextBox("Priority")%> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <%= Html.Label("System:")%> 
     </td> 
     <td> 
      <%= Html.DropDownList("system", "system")%> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <%= Html.Label("Client:")%> 
     </td> 
     <td> 
      <%= Html.TextBox("Client")%> 
      <%= Html.Hidden("state")%> 
     </td> 
    </tr> 
    <tr> 
     <td colspan="2"> 

      <input type="submit" name="CreateRequest" value="CreateRequest" onclick=AddRole();"" /> 
      <input type="button" id="btnCancel" name="Cancel" class="" value="Cancel" onclick="cancelAndRedirect();" /> 

     </td> 
    </tr> 
    <% } %> 

Ниже контроллер

public ActionResult Index(string RoleId, string state, string priority, string system, string client) 
    { 
     _roleEntity = new RoleEntity(); 
     List<SelectListItem> systemList; 
     RequestModels _request = new RequestModels(); 

     _roleEntity.ValidFrom = DateTime.Now; 
     _roleEntity.ValidTo = DateTime.Now; 

     systemList = _request.GetAllSystems(); 
     ViewData[StringConstants.System] = systemList; 
     if (RoleId == null && state == "Add") 
     { 
      ViewData[StringConstants.ErrorMessage] = "Please select a role"; 
     } 
     else 
     { 
      ViewData[StringConstants.ErrorMessage] = string.Empty; 
     } 

     return View(_roleEntity); 
    } 

Моя проблема, 1. когда я нажимаю на кнопку CreateRequest новое окно получает открыт. Форма не публикуется в том же окне. 2. Я вызываю метод Index из формы, так как мои попытки вызвать другой настраиваемый метод, например CreateRequest, были с ошибкой, например Не удалось найти представление CreateGequeust или его мастер. Поиск в следующих местах: ~/Views/Role/CreateReqeust.aspx ...

Спасибо и наилучшими пожеланиями, Muzammil Ахмеда

+0

Первым местом для поиска будет ваш «AddRole();» javascript и посмотреть, что вы там делаете. – Buildstarted

ответ

0

Там нет ничего особенного в методе AddRole. Я просто устанавливаю значение в скрытое поле.

0

Добавьте к этому <head> частям всплывающей страницы:

<base target=_self> 

Это общая проблема ASP.NET, не относящаяся к MVC.

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