2017-11-09 11 views
0

質問があります(おそらく単純です)。私はVisual StudioのC#.netの初心者です。C#.net mvcでコントローラのラベルを呼び出す方法は?

私は問題を説明します:何かをした後、それは私にラベル(または私が欲しいもの)に数字を入れ、ラベルに何があるかによって異なるビューでリダイレクトしたいと思います。

私は単に

if (label = 1) { return view1 } else... 

など

を作ってみましたしかし、私は私のコントローラで私のビューラベルを呼び出す方法を見つけることができません:(

+0

数字入力用のテキストボックスを持つ、あなたのビューにあるHTMLは何ですか? – Sunil

+0

私の見解は完全に基本的なものです、私は説明します、私はカメラを呼び出し、私はバーコードを読み取って、それを読んで、それはラベル(またはもしかして他に何かがある)に私を入れました私はちょうど私のコントローラ "このラベルのテキストを取得" – Nikoala

+1

それから私はあなたのコントローラの価値を得ることができるように、その値が投稿されたコントロールを使用することをお勧めします。たとえば、テキストボックスまたは非表示フィールドを使用します。 – Sunil

答えて

0

は、テキストボックスや隠しフィールドを使用しますバーコードスキャン値を保存するには、コントロールの名前属性を指定してください。次に、コントローラで以下のコードを使用してスキャンしたバーコード値を取得します。あなたのコントローラで。

Request.Form["txtScannedValue"] 

テキストボックスではなく、スキャンした値をキャプチャするために非表示フィールドを使用することをお勧めします。

htmlには、スキャンされた値を取得するための次の要素のいずれかが必要です。テキストボックスを使用している場合は、CSSのdisplayプロパティをnoneに設定できます。

<input id="txtScannedValue" name="txtScannedValue" type="text" /> 
<input id="hdnScannedValue" name="hdnScannedValue" type="hidden" /> 

コントローラー・コードC#で

public class SomeController : Controller 
{ 
    [HttpPost] 
    public ActionResult PostbackAction() 
    { 
     // Add action logic here 
     string scannedValue = Request.Form["txtScannedValue"].ToString(); 
     //string scannedValue = form["hdnScannedValue"]; 
     if(scannedValue == "1") { 
      return View("View1"); 
     } else if (scannedValue== "2") { 
      return View("View2"); 
     } 
    } 
} 

また、あなたは以下のC#コードを使用している場合、自動的に渡されFormCollectionオブジェクトを使用することができます。

public class SomeController : Controller 
{ 
    // 
    // GET: /Products/ 
    [HttpPost] 
    public ActionResult PostbackAction(FormCollection form) 
    { 
     // Add action logic here 
     string scannedValue = form["txtScannedValue"]; 
     //string scannedValue = form["hdnScannedValue"]; 
     if(scannedValue == "1") { 
      return View("View1"); 
     } else if (scannedValue== "2") { 
      return View("View2"); 
     } 
    } 
} 
+0

ああ、私はそれがどのように機能するのか見始め、その方法のためにthx!試してみます ! – Nikoala

+0

基本を理解するのはとても簡単です。 MVCの基本は、あなたが暴露された他のウェブテクノロジーのものと同じです。 – Sunil

+0

Thx!私はそれを少し違うものにしていますが、あなたの答えは私が考えて理解するのを助けます!私はパラメータ "id"としてURLに自分のバーコードを渡し、私のコントローラでそれを使用します:D Thxたくさん! – Nikoala

0

Htmlの動作は、単にMODEL-VIEW-CONTROLLERと同じです。

モデルを作成し、ビューにデータを渡してから、ビューからコントローラにデータを渡します。

1)値を受け付ける方法を作成し、ビューから値を渡す:あなたのコントローラで

public ActionResult(string labelValue)

あなたの競合を解決するために

2つの方法がありますあなたのビューで

@Html.Label("labelValue", "MyLabel", new {Value = labelValue})

2)モデルにプロパティを追加し、それをあなたのラベル値を渡し、その後、あなたのコントローラにモデルを渡す:

モデルでは:お使いのコントローラでpublic string labelValue { get; set;}

を:あなたのビューでpublic ActionResult(MyModel model)

@Html.LabelFor(m => m.labelValue, "MyLabel", new {Value = labelValue})

関連する問題