2016-06-16 5 views
-2

私はMVCサイトを持っており、すべてのビューで同じ「_レイアウトページ」を使用しています。 _layoutページには、選択コントロールがあります。MVC 5レイアウトページ

私が欲しいのは、他のページからコントロールの選択した値を読み取ることです。

どうすればいいですか?

編集:

_Layout.cshtml

<div class="col-sm-4 col-xs-6"> 
    <label class="col-sm-2 control-label" for="slt_Aziende">Azienda:</label> 
    <select id="mySharedSelectControl"> 
     <option value="1">value 1</option> 
     <option value="2">value 2</option> 
    </select> 
</div> 

(_Layout.cshtmlを使用して)Index.cshtlm

@model IEnumerable<MySite.Models.MyModel> 
@{ 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

MyModelController

public class MyModelController : Controller 
{ 
    public ActionResult Index() 
    {   
     //get value from mySharedSelectControl from Layout page 
     var selectedValueFromLayoutPage; 

     //do something 
     return View(); 
    } 
} 
+0

いくつかのコードを表示~~ –

+0

あなたはy値をjavascriptで読んでほしいですか? – Mairaj

答えて

0

あなたは、あなたが欲しいものcontrollerにし、プロセスよりdropdownの値をsendする必要がControllercontrolsの直接read値ができません。

dropdownの値をjavascriptから他のviewsに直接読み込んで処理することができます。

1

@Mairajが言ったことに基づいて、つまりコントローラのコントロールの値を直接読み取ることはできません。あなたはセッションでこの値を入れることが可能な1つのメソッドを作成し、以下のようにあなたの全体のページにまたがって使用することができます

$(document).ready(function() { 
      $("#mySharedSelectControl").change(function() { 
       var dropdownValue = $(this).val(); 
       $.ajax({ 
        url: "@Url.Action("PutValueinSession", "MyModel")", //Action method on which you want to send this dropdown value 
        data: { id: dropdownValue }, 
        success: function (e) { 
         window.location = window.location; 
        } 
       }); 
      }); 
     }); 

public JsonResult PutValueinSession(int id) 
     { 
      Session["DropdownControlValue"] = id; 
      return Json(new { Result = "" }, JsonRequestBehavior.AllowGet); 
     } 
あなたは何ができるか

は、このようなJavaScript関数を作成するには1であります

public ActionResult Index() 
    {   
     //get value from mySharedSelectControl from Layout page 
     var selectedValueFromLayoutPage=Session["DropdownControlValue"]; 

     //do something 
     return View(); 
    } 

私はこの彼を願っています:今、あなたはどのページにもこの値にアクセスすることができます

lp ..