我想實現我的actionresult Anvandare_Listaa兩個參數(一個字符串和一個布爾)。
//
// GET: /Admin/Anvandare_Listaa
public ActionResult Anvandare_Listaa(string pAnvandaren, bool pBlivenAdministrator)
{
return View("Anvandare_Lista");
}
問題:
不能收到布爾值pBlivenAdministrator在我的行動的結果。我收到錯誤消息。
參數字典包含參數方法 非可空 類型「System.Boolean」的 「pBlivenAdministrator」一個 空條目中 「System.Web.Mvc.ActionResult Anvandare_Listaa(布爾)」 'BokButik1.Controllers.AdminController'。 可選參數必須是 參考類型,可爲空的類型,或者將其聲明爲可選參數 。 參數名稱:參數
如果我使用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>
小備註: 我不知道pBlivenAdministrator代表什麼,但由於它包含單詞admin,它似乎給予調用者一定的權利。 因爲非pBlivenAdministrator可以通過更改瀏覽器中的查詢字符串輕鬆地成爲一個字符串,所以在查詢字符串中使用它不是一個好主意。 ;-) – santiagoIT 2011-01-27 21:13:17