Asp.net mvc 2 Html.BeginForm弹出一个新窗口

Asp.net mvc 2 Html.BeginForm弹出一个新窗口,asp.net-mvc-2,Asp.net Mvc 2,我有一个表单(这个表单是一个弹出窗口),其中有一个JQGrid和一组要提交给控制器的字段。以下是表格的一部分 <% using (Html.BeginForm("Index", "Role")) { %> <tr> <td> <%= Html.Hidden("RoleId")%> <%= Html.Label("Priority

我有一个表单(这个表单是一个弹出窗口),其中有一个JQGrid和一组要提交给控制器的字段。以下是表格的一部分

<% 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);
    }
public ActionResult索引(字符串RoleId、字符串状态、字符串优先级、字符串系统、字符串客户端)
{
_roleEntity=新roleEntity();
列表系统列表;
RequestModels_request=newrequestmodels();
_roleEntity.ValidFrom=DateTime.Now;
_roleEntity.ValidTo=DateTime.Now;
systemList=_request.GetAllSystems();
ViewData[StringConstants.System]=systemList;
if(RoleId==null&&state==Add)
{
ViewData[StringConstants.ErrorMessage]=“请选择一个角色”;
}
其他的
{
ViewData[StringConstants.ErrorMessage]=string.Empty;
}
返回视图(角色属性);
}
我的问题是, 1.当我点击CreateRequest按钮时,会打开一个新窗口。表单不在同一窗口中发布。 2.我正在从表单中调用Index方法,因为我尝试调用另一个自定义方法(如CreateRequest)失败,错误如下 找不到视图“CreateRequest”或其主视图。搜索了以下地点: ~/Views/Role/CreateReqeust.aspx

感谢和问候,
穆扎米尔·艾哈迈德(Muzammil Ahmed)

在AddRole方法中没有什么内容。我只是在一个隐藏字段中设置了一个值。

将其添加到弹出页面的
部分:

<base target=_self>


这是一个常见的ASP.NET问题,不是MVC特有的。

首先要查看的是您的“AddRole();”javascript方法,看看您在那里做什么。