2017-11-22 12 views
-1

i 第1(レイヤー名)コントローラのパラメータ値を第2コントローラに渡したい。 2番目のコントローラへのリダイレクトなし..ありがとう。任意の助け..mvc .net内のあるコントローラのパラメータ値を別のコントローラに渡す

最初のコントローラ: -

Public ActionResult firstcontroller(DataTable dt, String layertype, String layername) 

{ 
query= "some sql query" + layertype+ "where=" +layername+ ; 

} 

第二コントローラー: -

Public ActionResult secondcontroller(DataTable dt, String searchval, String selectval) 

{ 
query= "some sql query" + searchval+ "where=" +layername+ ; 
} 
+0

リダイレクトなしとはどういう意味ですか? (両方のメソッドで無意味な 'DataTable dt'パラメータを削除する必要があります) –

+1

コントローラから別のパラメータに" redirect "というパラメータを渡します。どのような目的で、あなたは引数として 'DataTable'を持っていますか?ビューから 'DataTable'コレクションの代わりにviewmodelクラスを渡す必要があります。注意:文字列連結を使用してDBクエリを作成するのではなく、パラメータ化されたバージョンを代わりに使用してください。 –

答えて

1

私はあなたが必要なものを正確にわからないが、あなたは、セッション中に使用したリダイレクトせずにしたい場合

Public ActionResult firstcontroller(DataTable dt, String layertype, String layername) 
{ 
Session["layername"]=layername; 
query= "some sql query" + layertype+ "where=" +layername+ ; 
} 


Public ActionResult secondcontroller(DataTable dt, String searchval, String selectval) 
{ 
var layername = Session["layername"].toString(); 
query= "some sql query" + searchval+ "where=" +layername+ ; 
} 
+0

ありがとうございました。 –

0

sessionの使用方法はありません。代わりにTempDataを使用してください。

Public ActionResult firstcontroller(DataTable dt, String layertype, String 
layername) 
{ 
TempData["layername"]=layername; 
query= "some sql query" + layertype+ "where=" +layername+ ; 
} 


Public ActionResult secondcontroller(DataTable dt, String searchval, String 
selectval) 
{ 
var layername = TempData["layername"].toString(); 
query= "some sql query" + searchval+ "where=" +layername+ ; 
} 
関連する問題