ViewData.ModelでLinqDataSourceまたはObjectDataSourceを使用する場合、ViewData.Modelは文字列配列です。ASP.NET MVCでデータソースコントロールを使用することはできますか?
私はビューのPageLoadイベントでデータソースをバインドしたくありません。
可能ですか?どうやって?
ViewData.ModelでLinqDataSourceまたはObjectDataSourceを使用する場合、ViewData.Modelは文字列配列です。ASP.NET MVCでデータソースコントロールを使用することはできますか?
私はビューのPageLoadイベントでデータソースをバインドしたくありません。
可能ですか?どうやって?
MVCの概念全体を壊すので、実際のデータソースをビューに戻す必要があります。代わりに、モデルの内部とビューを明確に分離するために、ソースからコントローラを介してデータオブジェクトを返す必要があります。
実際にデータソースを返す場合は、これを行う方法です。任意の種類のオブジェクトと同じ方法です。コントローラでは、オブジェクトをパラメータとして新しいビューを返します。そのオブジェクトは、ビューのModelプロパティを介して使用可能になります。
I.e.お使いのコントローラのアクションに次のようにあります
public ActionResult YourAction() {
var yourDataSource = GetYourDataSourceMethod();
return View(yourDataSource);
}
private LinqDataSource GetYourDataSourceMethod() {
// Return your datasource ...
}
あなたのビューで、直接Model
プロパティを呼び出すと、アクセスyourDataSource
ことができます。次のようにタイプしていない場合は、キャストしてください:
<%= var myDataSource = (LinqDataSource) Model %>