>  > スカルプD サプリメント ハイブリッドプロテイン(ヨーグルト味/カフェオレ味)大容量
【】 麹肥減(こうひげん)DX600粒 1個お徳用商品の期限は2021年3月

質問する

ハイブリッドプロテイン(ヨーグルト味/カフェオレ味)大容量 サプリメント サプリメント ハイブリッドプロテイン(ヨーグルト味/カフェオレ味)大容量 スカルプD

15分調べてもわからないことは、質問しよう!

質問する

ただいまの
回答率

90.55%

  • C#

    8720questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • ASP.NET

    605questions

    ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

  • MVC

    252questions

    MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

  • Model

    92questions

    MVCモデルの一部であるModelはアプリケーションで扱うデータとその動作を管理するために扱います。

スカルプD サプリメント ハイブリッドプロテイン(ヨーグルト味/カフェオレ味)大容量

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,491

    nekoneko_

    score 1

    現在C#で開発しています。
    C#を使うのは初めてです。
    LAMPでの開発経験はあり、フレームワークはcakephp、Zendの経験があります。
    他はJavaScriptの経験もあります。

    zendの場合などでは
    コントローラで
    $this->view->変数名=セットする値; 
    などでview側で変数、配列などなんでも使用することができるかと思います。

    このような形でC#で使用できないのでしょうか
    開発中のC#ではコントローラからmodelを呼び出し
    consoleログでDB接続、select文で値を取得できるところまでは出来ております。
    この取得した値をphpの
    $this->view->変数名=セットする値; 
    のような形で
    C#でもview側で配列を使用したいと考えております。

    C#では初歩のViewDataを文字列を代入して使用する、
    @Html.Action(アクション名)などでcshtmlを連結する
    までは理解しています。
    また、phpとC#での違いの
    voidはreturnできない、関数の定義として戻り値の型を定義するところまでは理解しております。

    コントローラから配列、変数の場合、どのように渡すのか
    またview側でそれをどのように受け取りどのように使用するのか不明です。

    phpなどといった簡単な高級言語しかやったことない開発にわかですが、ご教授いただけたら幸いです。
    環境はvs2017、mvc5、C#7.0、SqlServer2008です。
    よろしくお願いいたします。

    • 質問の評価を下げる機能の利用条件

      この機能を利用するためには、以下の事項を行う必要があります。

    • 質問への追記・修正、ベストアンサー選択の依頼

      • SurferOnWww

        2018/06/29 12:21

        ASP.NET MVC の話のようですが、そうであれば ASP.NET のタグもつけてください。

        キャンセル

      • takezoux2

        2018/06/29 12:51

        voidはreturn出来ないとはどういうことでしょうか?C#でvoidが戻り値の関数でもreturnは出来ます。関数に定義した戻り値の型しかreturn出来ないということですかね?

        キャンセル

      • nekoneko_

        2018/06/29 13:11

        takezoux2 様>おっしゃるとおりです。言葉足らずで申し訳ありません。

        キャンセル

      • SurferOnWww

        2018/06/29 13:45

        ASP.NET のタグ付けのお願いは無視ですか?

        キャンセル

      • nekoneko_

        2018/06/29 14:04

        SurferOnWww 様>先ほど更新したと思ったのですが。。。画面の左下編集から編集して、右下の更新を押しても追加できませんでした。再度調べてみます。

        キャンセル

      • SurferOnWww

        2018/06/29 14:06

        了解しました。お待ちします。

        キャンセル

      • SurferOnWww

        2018/06/29 14:08

        void は return できないというのは、Controller のアクションメソッドのことを言っていると思いますが、それは正しいです。アクションメソッドでは、アクションの結果をフレームワークに伝えるために、戻り値として ActionResult 派生オブジェクトを返す必要があります。

        キャンセル

      • nekoneko_

        2018/06/29 14:47

        SurferOnWww 様 >タグが更新できなかったのは、編集した後に左下の要約を記入するのを忘れていたのが原因でした。。。ありがとうございます。派生オブジェクトというのをしっかりと認識できておりませんでした。。。http://www.atmarkit.co.jp/ait/articles/0907/10/news109.htmlのページをよく読んで、勉強するようにします。ありがとうございました!

        キャンセル

      • SurferOnWww

        2018/06/29 14:55 編集

        対応をありがとうございました。参考にされている記事はかなり古く、Razor 構文が出てくる前のもののようですのでご注意ください。こちらの方がよさそうです。 http://www.atmarkit.co.jp/fdotnet/aspnetmvc3/index/index.html

        キャンセル

      • nekoneko_

        2018/07/02 08:32

        SurferOnWww 様 >ありがとうございます。こちら参考にさせていただきます。また何かございましたら、よろしくお願いいたします。

        キャンセル

      • 回答 1 件

        checkベストアンサー

        +4

        コントローラから配列、変数の場合、どのように渡すのか
        またview側でそれをどのように受け取りどのように使用するのか不明です。

        モデル(特定のビューに合わせて作成された、厳密に型指定されたオブジェクト)を使うのが普通です。

        一例(あくまで例です)を書きますと以下の通りです。

        まず、以下のような class をモデルとして定義します。これを使って View にデータを渡すことを考えます。

        public class CustomerName
        {
         public string Title { get; set; }
         public string FirstName { get; set; }
         public string MiddleName { get; set; }
         public string LastName { get; set; }
        }
        

        Controller のアクションメソッドで、3 人分の CustomerName オブジェクトを作成し、そのコレクション(List<CustomerName> オブジェクト)を View に渡すことにします。コードは以下の通りです。(実際は、SQL Server などの DB から Linq to Entities を利用してデータを取得して設定するケースが多いのですが、それを書くと混乱しそうなので簡略化しました)

        public ActionResult CustomerName()
        {
         ViewBag.Message = "ViewBag 経由で取得した情報";
         List<CustomerName> model = new List<CustomerName>
         {
         new CustomerName { Title = "Mr.", FirstName = "Orlando", LastName = "Gee" },
         new CustomerName { Title = "Mr.", FirstName = "Keith", LastName = "Harris" },
         new CustomerName { Title = "Ms.", FirstName = "Donna", LastName = "Carreras" }
         };
         return View(model);
        }
        

        アクションメソッドから渡されたモデルを View で使用するには、以下のコードのように @model として型を宣言する必要があります。3 人分の CustomerName オブジェクトのコレクションなので IEnumerable<CustomerName> 型として宣言してます。Mvc5App.Models は名前空間名です 【EYELASHLABO】ローズジェルクレンジング [12本セット]。 

        @model IEnumerable<Mvc5App.Models.CustomerName>
        @{
         ViewBag.Title = "CustomerName";
        }
        <h2>CustomerName</h2>
        <p>@ViewBag.Message</p>
        <table>
         <tr>
         <th>
         @Html.DisplayNameFor(model => model.Title)
         </th>
         <th>
         @Html.DisplayNameFor(model => model.FirstName)
         </th>
         <th>
         @Html.DisplayNameFor(model => model.LastName)
         </th>
         </tr>
        @foreach (var item in Model) {
         <tr>
         <td>
         @Html.DisplayFor(modelItem => item.Title)
         </td>
         <td>
         @Html.DisplayFor(modelItem => item.FirstName)
         </td>
         <td>
         @Html.DisplayFor(modelItem => item.LastName)
         </td>
         </tr>
        }
        </table>
        


        上のコードで Model には IEnumerable<CustomerName> オブジェクトが渡されます。

        また、DisplayNameFor のラムダ式の引数には CustomrerName オブジェクトが、DisplayFor のラムダ式引数には IEnumerable<CustomerName> オブジェクトが渡されます。

        モデルの他に、ViewData や ViewBag のようなディクショナリを使ってアクションメソッドから View にデータを渡すこともできます。上のコードには ViewBag を使って例を書きました。

        投稿

      • 2018/07/02 09:19

        List 型に限らず、C# のオブジェクトなら何でも渡せます。ただし、何でも可と言っても、そうすることが良いかどうかは話が別です。上にも書きましたが「特定のビューに合わせて作成された、厳密に型指定されたオブジェクト」にするのか、View から Action Method に渡すケースを考えると、セキュリティの面などでもよさそうです。

        キャンセル

      • 2018/07/05 10:00

        ありがとうございます。とても勉強になります!
        現在行いたいのは、とても単純なもので
        検索ボックス、プルダウンなどで同じページ(action)へpostして検索したら帳票を出すといったものです。
        phpだとさくっとできるのですが、C#では行き詰ってしょうがないです。 【まとめ買い×012】貝印 関孫六 ゴールドハサミ ( セーフティ ) ( 内容量:1個 ) ×012点セット(4901601286595)。。

        http://kitigai.hatenablog.com/entry/2017/12/18/201513
        上記などは、なんでも渡せるといったところの参考サイトになりますかね。。。
        SurferOnWww 様の仰る通りでフローや行いたい内容を考えた上で記述していきたいと思っております。

        キャンセル

      • 2018/07/05 12:04

        > http://kitigai.hatenablog.com/entry/2017/12/18/201513
        > 上記などは、なんでも渡せるといったところの参考サイトになりますかね 。。。

        個人的意見を言わせていただければ、参考にならないので(逆にミスリードされそうなので)、読まない方が良いと思います。

        ネットの情報は玉石混交です。玉も多いですが、石もあります(場合によっては毒も)。なので、それを見極めるだけのスキル・知識が必要です。質問者さんには、本を買って体系的に勉強することをお勧めします。

        キャンセル

      同じタグがついた質問を見る

      • C#

        8720questions

        C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

      • ASP.NET

        605questions

        ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

      • MVC

        252questions

        MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

      • Model

        92questions

        MVCモデルの一部であるModelはアプリケーションで扱うデータとその動作を管理するために扱います。

{yahoojp}jpprem01-zenjp40-wl-zd-9735