【问题标题】:Html.BeginForm pops up a new windowHtml.BeginForm 弹出一个新窗口
【发布时间】:2010-09-29 13:04:40
【问题描述】:

我有一个表单(这个表单是一个弹出窗口),其中有一个 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);
    }

我的问题是, 1. 当我点击 CreateRequest 按钮时,会打开一个新窗口。表单不在同一窗口中发布。 2. 我从表单中调用 Index 方法,因为我尝试调用另一个自定义方法(如 CreateRequest)失败,错误如下 找不到视图“CreateReqeust”或其主视图。搜索了以下位置: ~/Views/Role/CreateReqeust.aspx ...

感谢和问候, 穆扎米尔·艾哈迈德

【问题讨论】:

  • 首先要看的是你的“AddRole();” javascript 方法,看看你在做什么。

标签: asp.net-mvc-2


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    将此添加到弹出页面的&lt;head&gt; 部分:

    <base target=_self>
    

    这是一个常见的 ASP.NET 问题,并非特定于 MVC。

    【讨论】:

      猜你喜欢
      • 2012-12-12
      • 1970-01-01
      • 1970-01-01
      • 2019-04-14
      • 2019-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-10
      相关资源
      最近更新 更多