目标:
我想为我的 actionresult Anvandare_Listaa 实现两个参数(一个字符串和一个布尔值)。
//
// GET: /Admin/Anvandare_Listaa
public ActionResult Anvandare_Listaa(string pAnvandaren, bool pBlivenAdministrator)
{
return View("Anvandare_Lista");
}
问题:
在我的操作结果中无法接收布尔值 pBlivenAdministrator。我收到错误消息。
参数字典包含“BokButik1.Controllers.AdminController”中方法“System.Web.Mvc.ActionResult Anvandare_Listaa(Boolean)”的不可为空类型“System.Boolean”的参数“pBlivenAdministrator”的空条目。可选参数必须是引用类型、可空类型或声明为可选参数。参数名称:参数
如果我使用布尔?而不是 bool 我不会得到任何价值。我使用字符串时没有问题,只是动作结果中与布尔相关的问题。
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
}
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Admin.Master" Inherits="System.Web.Mvc.ViewPage<BokButik1.ViewModels.AllaAnvandareViewModel>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Användare Lista
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Användare Lista</h2>
<table>
<tr>
<th>Användare</th>
<th>E-post</th>
<th>Administratör</th>
</tr>
<% foreach (var user in Model.AllaAnvandare) { %>
<tr>
<td>
<%: user.Anvandaren %>
</td>
<td>
<%: user.Epost%>
</td>
<td>
<%: user.BlivenAdministrator %>
</td>
<td>
<%: Html.ActionLink(Html.OmAdministratorBehorighet(user.BlivenAdministrator),
"Anvandare_Listaa", "Admin", new {pAnvandaren = user.Anvandaren, pBlivenAdministrator = user.BlivenAdministrator }) %>
</td>
</tr>
<% } %>
</table>