C#
 Computer >> コンピューター >  >> プログラミング >> C#

ASP .Net MVC C#でのChildActionOnly属性の使用は何ですか?


子アクションには、子リクエストによってのみアクセスできます。 URLリクエストには応答しません。試行すると、次のようなランタイムエラーがスローされます-子アクションは子リクエストによってのみアクセス可能です。子アクションメソッドは、Action()およびRenderAction()htmlヘルパーを使用してビューから子リクエストを作成することで呼び出すことができます。

子アクションメソッドは、Action()またはRenderAction()ヘルパーを使用してNonActionmethodsを呼び出すことができないという点で、NonActionメソッドとは異なります。

以下は、URLを使用して呼び出しようとしたときの子アクションエラーです。

ASP .Net MVC C#でのChildActionOnly属性の使用は何ですか?

コントローラー

using System.Collections.Generic;
using System.Web.Mvc;
namespace DemoMvcApplication.Controllers{
   public class HomeController : Controller{
      public ActionResult Index(){
         return View();
      }
      [ChildActionOnly]
      public ActionResult Countries(List<string> countries){
         return View(countries);
      }
   }
}

インデックスビュー

@{
   ViewBag.Title = "Countries List";
}
<h2>Countries List</h2>
@Html.Action("Countries", new { countries = new List<string>() { "USA", "UK",
"India", "Australia" } })

国の表示

@model List<string>
@foreach (string country in Model){
   <ul>
      <li>
         <b>
            @country
         </b>
      </li>
   </ul>
}

出力

ASP .Net MVC C#でのChildActionOnly属性の使用は何ですか?

以下に示すように、「RenderAction()」HTMLヘルパーを使用して子アクションを呼び出すこともできます。

@{
   Html.RenderAction("Countries", new { countryData = new List<string>() {
   "USA", "UK", "India", "Australia" } });
}

  1. ASP .Net MVC C#でViewBagを使用するにはどうすればよいですか?

    ViewBagは、C#4.0で導入された動的機能を使用します。これにより、オブジェクトにプロパティを動的に追加できます。内部的には、Controllerクラスの基本クラスであるControllerBaseクラスの動的タイププロパティです。 ViewBagは、コントローラーからビューにデータを転送するだけで、その逆はありません。リダイレクトが発生した場合、ViewBag値はnullになります。 ViewBagは動的に値を設定および取得でき、厳密に型指定されたものに変換せずに任意の数のフィールドを追加できます。 ViewBagへのデータの保存- ViewBag.Counties = coun

  2. C#ASP.NET WebAPIのさまざまな種類のフィルターは何ですか?

    フィルタは、WebApiFrameworkリク​​エスト処理のさまざまなレベルで追加のロジックを挿入するために使用されます。フィルタは、横断的関心事(ロギング、承認、およびキャッシング)の方法を提供します。フィルタは、宣言的またはプログラム的な方法でアクションメソッドまたはコントローラに適用できます。以下は、Web API C#のフィルターの種類です。 認証フィルター − 認証フィルターは、ユーザーの詳細を認証するのに役立ちます。認証フィルターでは、ユーザーの信頼性をチェックするためのロジックを記述します。 認証フィルター − 承認フィルターは、ユーザーアクセスのチェックを担当しま