ActionResultのブール問題
-
26-10-2019 - |
質問
ゴール:
Anvandare_listaaを実行するために、2つのパラメーター(1つの文字列と1つのブール)を実現したいと思います。
//
// GET: /Admin/Anvandare_Listaa
public ActionResult Anvandare_Listaa(string pAnvandaren, bool pBlivenAdministrator)
{
return View("Anvandare_Lista");
}
問題:
私のアクション結果では、bool値pblivenadministratorを受け取ることができません。エラーメッセージを受信します。
パラメーター辞書には、「メソッド」システムの非微細なタイプ「System」のパラメーター「pblivenadministrator」のヌルエントリが含まれています。オプションのパラメーターは、参照タイプ、Nullableタイプであるか、オプションのパラメーターとして宣言する必要があります。パラメーター名:パラメーター
ブールを使用した場合は?ブールの代わりに、私は価値がありません。文字列を使用するときに問題はありません。これは、アクション結果のブールに関連する問題のみです。
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>
解決
アクションリンクを生成するとき:
<%: Html.ActionLink(
Html.OmAdministratorBehorighet(user.BlivenAdministrator),
"Anvandare_Listaa",
"Admin",
new {
pAnvandaren = user.Anvandaren,
pBlivenAdministrator = user.BlivenAdministrator
}
) %>
あなたはそれを確認する必要があります pBlivenAdministrator
パラメーターには値が割り当てられているため、生成されたHTMLが次のようになります。
<a href="/Admin/Anvandare_Listaa?pAnvandaren=abc&pBlivenAdministrator=true">
Some Text
</a>
リクエストにが含まれていない場合 pBlivenAdministrator
パラメーターこの例外を取得します。どちらかです:
/Admin/Anvandare_Listaa?pBlivenAdministrator=true
また:
/Admin/Anvandare_Listaa?pBlivenAdministrator=false
他のヒント
2つの引数を取るルートを作成します。デフォルトのルートでは、単一の引数「ID」のみを取得します。あなたの議論PanvandarenとPanvandarenで新しいルートを作成してください。
所属していません StackOverflow