次のようにページで呼び出している部分的なビューがあります:-
@Html.Partial("~/Views/Shared/ImageGallery.cshtml", Model)
このページの実際の Jquery のコードは次のとおりです。
<script type="text/javascript">
$(document).ready(function () {
$('.modal_block').click(function (e) {
$('#tn_select').empty();
$('.modal_part').hide();
});
$('#modal_link').click(function (e) {
$('.modal_part').show();
var context = $('#tn_select').load('/Upload/UploadImage?Page=Article&Action=Edit&id=16', function () {
initSelect(context);
});
e.preventDefault();
return false;
});
});
</script>
これで完全に機能しますが、ハードコードされた変数の代わりに動的変数をこれに渡す方法を見つける必要があります:-
Upload/UploadImage?Page=Article&Action=Edit&id=16
モデルにはすべての変数がありますが、それらを Jquery に挿入する方法がわかりません。どんな助けでも大歓迎です!
- - - - -アップデート - - - - - - - - - - - -
これは、ImageGallery を必要とする各 cshtml に入れているコードです。
</div>
@Html.HiddenFor(model => model.PageViewModel.Page.PageTitle, new { id = "PageTitle"});
@Html.HiddenFor(model => model.PageViewModel.Page.PageAction, new { id = "PageAction"});
@Html.HiddenFor(model => model.ArticleViewModel.Article.ArticleID, new { id = "ArticleID"});
<div>
@Html.Partial("~/Views/Shared/ImageGallery.cshtml", Model)
</div>
ImageGallery の新しい Javascript :-
<script type="text/javascript">
var pageTitle = $('#PageTitle').val();
var pageAction = $('#PageAction').val();
var id = $('#ArticleID').val();
$(document).ready(function () {
$('.modal_block').click(function (e) {
$('#tn_select').empty();
$('.modal_part').hide();
});
$('#modal_link').click(function (e) {
$('.modal_part').show();
var context = $('#tn_select').load('/Upload/UploadImage?Page=' + pageTitle + '&Action=' + pageAction + '&id=' + id, function () {
initSelect(context);
});
e.preventDefault();
return false;
});
});
</script>
これで問題なく動作します