【发布时间】: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