0
私はMVC 3 & MVC 4についてこのトピックについての解答を研究しました。MVC 5の解決策を探していました。私は、ajaxで部分ビューを読み込むビューを持っています。ビュー内で、私はすべて私のJavaScriptロジック(@section Scripts
)を定義しているので、私はにはがありません。問題は、私の部分的な視点の中で、成功時にビュー内で定義されたjavascript関数を呼びたいということです。MVC5でajaxによって呼び出されたパーシャルビューで外部のjavascriptを参照する方法は?
私の見解と部分図である
MyView.cshtml
@section Scripts
{
@Scripts.Render("~/plugins/myplugins")
<script>
function callFunctionOutsideThisPartialView() {
//... This doesn't get called
}
</script>
}
MyPartialView.cshtml
@using (Ajax.BeginForm("MyAction", "MyController",
new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "divForPartialView",
OnSuccess = "callFunctionOutsideThisPartialView()"
}, new { @class = "form-inline" }))
{
// Partial View here
}
部分の外側にあるJavaScriptの機能にアクセスするための正しい方法は何ですかMVC 5で見る?
部分的な考え方はhtmlコードを再利用することです。あなたが部分ビューレンダリングをどれだけ複雑にしても問題ありません。すべての部分的なビューは最終的にレイアウトに入れられ、1つのhtmlとしてレンダリングされます。あなたのhtmlがあなたのブラウザでレンダリングされるとき、それがあなたのjsが遊びに来る場所です。限り、あなたの部分的なビューは、最終的にあなたのページに読み込ま参照取得されているjs関数です。あなたはokでなければなりません –
これは私が試したものですが、OnSucessのjavascriptは呼び出されていないので、コンソールに関数が存在しないことが示されます。 – usr4896260
@ Ji_in_codingが正しいです。貼り付けたサンプルコードが実際のアーキテクチャでない場合を除き、 'callFunctionOutsideThisPartialView()'関数はグローバルスコープで宣言する必要があります。 –