MVC使用JavaScript导航到另一个页面

时间:2017-10-02 11:02:22

标签: javascript jquery asp.net-mvc popup

当我点击主页上地图中的城市时,相应的屏幕将作为弹出窗口打开。然后,如果我点击这个打开的窗口的主体,我想转到相关项目的详细页面。但我无法设置JavaScript代码。

我的Index.cshtml:

@{ Html.RenderPartial("Map");}
<div class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
    <div class="modal-content">
        <form>
            <div class="modal-body popupList">

            </div>
        </form>
    </div>
</div>

<script>

$('g [type=city]').click(function (el) {

    $('#turkey-map g [type="city"]').attr('activeChart', 0)
    $(this).attr('activeChart', 1);

    var cityid = $(this).attr('city_id');
    $('.popupList').html('preparing content...');

    $.ajax({
        method: "get",
        url: '@Url.Action("ProjectListPartial", "Home")',
        data: { cityID: cityid, UnitID: @UnitID }
    })
        .done(function (msg) {
            $('.popupList').html(msg);
            $(".modal").modal();
        });

});
</script>

我的ProjectListPartial.cshtml:

<div class="ProjectsPartial">
    @foreach (var item in Model)
    {
        <div class="ProjectPartialBody" data-id="@item.ID">
            <div class="portlet-body">
                <div class="mt-element-list">
                    <div class="mt-list-head list-news ext-1 font-white bg-grey-gallery">
                        <div class="list-head-title-container">
                            <h5 class="list-title">@item.tbl_Unit.Name</h5>
                            <br />
                            <h3 class="list-title">@item.Name</h3>
                        </div>
                    </div>
                    <div class="mt-list-container list-news ext-1">
                        <ul>
                            <li class="mt-list-item">
                                <div class="list-icon-container">
                                    <a href="@Url.Action("Detail", "Project", new {ID = item.ID })">
                                        <i class="fa fa-angle-right"></i>
                                    </a>
                                </div>
                                <div class="list-datetime bold font-red"> Sözleşme Başlangıç ve Bitiş Tarihleri </div>
                                <div class="list-datetime bold font-red"> @((item.SozBasTarihi ?? DateTime.Now).ToString("dd/MM/yyyy")) / @((item.SozBitisTarihi ?? DateTime.Now).ToString("dd/MM/yyyy")) </div>
                                <div class="list-item-content">
                                    <div class="form-group">
                                        <label>Nakdi Tamamlanma Oranı: %@item.NakdiTamOrani</label>
                                        <div class="progress progress-striped active">
                                            <div class="progress-bar progress-bar-info" role="progressbar" style="width: @(item.NakdiTamOrani)%;"></div>
                                        </div>
                                    </div>
                                    <div class="form-group">
                                        <label>Fiziki Tamamlanma Oranı: %@item.FizikiTamOrani</label>
                                        <div class="progress progress-striped active">
                                            <div class="progress-bar progress-bar-info" role="progressbar" style="width: @(item.FizikiTamOrani)%;"></div>
                                        </div>
                                    </div>
                                </div>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
    }
</div>

如您所见,当我在地图上点击城市时,弹出窗口打开。我想要做的是当我点击弹出的身体;我想用JavaScript转到相关项目的详细信息页面。我尝试使用JavaScript但是我失败了。

enter image description here

我在ProjectListPartial.cshtml页面中的JavaScript代码:

<script>
$('div.ProjectPartialBody').click(function (el) {

    var projectid = $(this).data('id');

    $.ajax({
        method: "get",
        url: '@Url.Action("Detail", "Project")',
        data: { projectID: projectid }
    })
        .done(function (msg) {
            // I do not know what to write here.
        });
});
</script>

1 个答案:

答案 0 :(得分:0)

尝试一下:

<script>
    //pass vale in url
    function navigateURL(value) {
        var url = '@Url.Action("Index", "ProductView", new {id = "_value" })';
        var urlWithValue = url.replace('_value', value);
        window.location.href = urlWithValue;
    }
</script>