こんにちは誰かが、私が_Layout.cshtmlにある準備したdivコンテナにPartialViewをロードする方法を教えてください。 。私はそれは、次のアクションリンクのクリック時にコンテナにロードします:_Layout.cshtmlでコンテナに部分的なビューをロードする方法
<a href="@Url.Action("RenderColorbox", "ContactPartial", new { path = "_ContactPartial" })" class="colorboxLink"><span>ContactUs</span></a>
私は私のコントローラでモデルを作成し、PartialViewにそれを渡す必要があると私はいけないので、私はjavascriptをせずにこれを実行したいと思います厳密に型指定されたモデルをjavascriptを使ってビューに渡すことが可能だと考えています。
私は、私が使用することができますしたい場合:私はできることを...その重要を
$('.colorboxLink').click(function() {
$('.colorbox_container').load(this.href);
});
が、私は、これは私の部分図に強く型付けされたモデルを作成し、合格する機会を与えるものではありません述べたように作成し、ビューにモデルを渡すため、Imは部分ビューでforeach(Model.ItemListのvarアイテム)のようなものを試してみるとnull参照例外が発生するためです。
は、相続人は私のコントローラがどのように見えるか:
public virtual ActionResult RenderColorbox(string path)
{
return PartialView(path, null);
}
しかし、現在は、アクションリンクをクリックするだけではなく、私が設定したコンテナ内よりも、新しい空白のページにPartialViewをレンダリングします。
ありがとうございました。
EDIT:提案として、私は次のように使用するカラーボックスロードするには:
$('.colorboxLink').click(function() {
$('.colorbox_container').load(this.href, function() {
var colorboxOptions = {
inline: true,
scrolling: false,
opacity: ".9",
fixed: true,
onLoad: function() {
$('#cboxContent').css({
"background": "white"
});
$('#cboxLoadedContent').css({
"margin-bottom": "28px",
"height": "558px"
});
}
}
$('#contactColorbox').colorbox(colorboxOptions);
});
をしかし、まだカラーボックスなしではなく、モーダルポップアップとしてロードします。
上記のようにjavascript load()を使用していたのであれば、actionlinkではonclick = "false"と設定します。それ以外の場合は、空白の新しいページに部分ビューをロードするだけです。その場合、onclick = "false"ならRenderColorbox()は呼び出されません。 – parliament
は魅力的に働いた。どうもありがとう! – parliament
@ user1267778なぜ、あなたのアンカーにあなたのjavascriptですでに購読しているときにonclick属性を追加するのですか?また正しいのは 'onclick =" false false; "' onclick = "false" 'ではなく' 'です。しかし、これをしないでください。マークアップとjavascriptを混在させないでください。 –