从另一部分视图替换部分视图


This My Parent View In this i am calling partialview(_CityList.cshtml).

@model MedicalOrbit.City
@{
    ViewBag.Title = "CreateCity";
}
<h2>Add City</h2>

@using (Html.BeginForm())
    {
        @Html.AntiForgeryToken()

       <div id="Maindiv" class="col-lg-7">
        <div class="ibox float-e-margins">
            <div class="ibox-title">
                <h5>City Details</h5>
                <div class="ibox-tools">
                    <a class="collapse-link">
                        <i class="fa fa-chevron-up"></i>
                    </a>
                </div>
            </div>
            <div class="ibox-content">
                <div class="row">
                    <div class="col-sm-6 b-r">
                        @*<hr />*@
                        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
                        <div class="form-group">
                            <label>City Name:</label>
                            @*@Html.LabelFor(model => model.CityName, htmlAttributes: new { @class = "control-label col-md-2" })*@
                            <br>
                            <div >
                                @Html.EditorFor(model => model.CityName, new { htmlAttributes = new { @class = "form-control", placeholder = "Enter City" } })
                                @Html.ValidationMessageFor(model => model.CityName, "", new { @class = "text-danger" })
                            </div>
                        </div>
                        <br>
                            <div>
                                <input type="submit" value="Create" class="btn btn-w-m btn-primary" />
                                &nbsp; &nbsp;
                                <input type="submit" value="Cancel" class="btn btn-w-m btn-success" />
                            </div>
                    </div>
                    <div>
                        <div id="CityList" class="col-sm-6">
                            @*@Html.Partial("_CityList");*@
                            @Html.Action("CityList", "City")
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
}


<div id="Editdiv">
    @Html.Action("EditCity", "City")
</div>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="~/Scripts/jquery-1.7.1.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>

Partial View(_CityList.cshtml)
 <table class="table">
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.CityName)
            </th>
            <th>Action</th>
        </tr>
        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.CityName)
                </td>
                <td>
                    @*@Html.ActionLink("Edit", "Edit", new { id = item.CityID })*@ 
                    @Ajax.ActionLink("Edit City", "EditCity", "City", new AjaxOptions()
               {
                   UpdateTargetId = "Maindiv",
                   InsertionMode = InsertionMode.ReplaceWith
               })|
                    @Html.ActionLink("Details", "Details", new { id = item.CityID }) |
                    @Html.ActionLink("Delete", "Delete", new { id = item.CityID })  |
                    @Html.ActionLink("Area", "Area", new { @class = "btn btn-warning btn-circle btn-lg fa fa-times", id = item.CityID })
                </td>
            </tr>
        }
    </table>

following is my Controller Code


using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.Validation;
using System.Diagnostics;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MedicalOrbit.Controllers
{
    public class CityController : Controller
    {
        MediOrbitDatabaseEntities db = new MediOrbitDatabaseEntities();
        // GET: City
        public ActionResult Index()
        {
            return View();
        }
        public ActionResult CityList()
        {
            return PartialView("_CityList", db.Cities.Where(x => x.status == false).ToList());
        }
        public ActionResult CreateCity()
        {
            return View();
        }
        // POST: City/CreateCity
        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult CreateCity(City city)
        {
                // TODO: Add insert logic here
                if (ModelState.IsValid)
                {
                    city.Users = "ashwini";
                    city.DateTime = DateTime.UtcNow;
                    city.status = false;
                    db.Cities.Add(city);
                    db.SaveChanges();
                    return RedirectToAction("CreateCity");
                }
            return View(city);
        }
        public ActionResult EditCity(int? id)
        {
            City city = db.Cities.Where(x => x.CityID == id).FirstOrDefault();
            if (city == null)
            {
                return HttpNotFound();
            }
            return View(city);
        }
        // POST: /Admin/City/Edit
        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult EditCity(City city)
        {
            if (ModelState.IsValid)
            {
                city.Users = "Ashwini";
                city.DateTime = DateTime.UtcNow;
                city.status = false;
                db.Entry(city).State = EntityState.Modified;
                db.SaveChanges();
                RedirectToAction("CreateCity");
            }
            return PartialView("_EditCity",city);
        }

    }
} 

现在我想要的是_citylist.cshtml部分视图时,当用户单击"编辑action链接"时,应该用另一个部分视图替换主父视图(_editcity.cshmtl(。我可以实现这一点。我在mvc so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so帮助我。

我向您展示了如何进行部分视图。希望您有足够的钱可以在部分视图中使用部分视图。

可能有额外的代码可以帮助您。

查看:

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>IndexValid4</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $('#LOCATION_NUMBER').click(function () {
                var store = $('#storeNbr').val();
                this.href = this.href.split("?")[0];
                this.href = this.href + '?LOCATION_NUMBER=' + encodeURIComponent(store);
            });
        })
    </script>
</head>
<body>
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h4 class="modal-title" id="myModalLabel">My Modal</h4>
                </div>
                <div class="modal-body">
                </div>
                <div class="modal-footer">
                    <label class="btnIEFix">You can also, Click in Grey Area Outside Modal To Close</label>
                    <button title="You can also, Click in Grey Area Outside Modal To Close" type="button" class="btn btn-secondary bootBtnMargin" data-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
    </div>
    @Html.HiddenFor(r => r.storeNbr, new { id = "storeNbr" })
    @*https://stackoverflow.com/questions/5838273/actionlink-routevalue-from-a-textbox*@
    @Ajax.ActionLink(
                                   "Trigger Ajax",
                                            "ReleaseVersion",
                                       null,
                                       new AjaxOptions
                                        {
                                            UpdateTargetId = "result",
                                            InsertionMode = InsertionMode.Replace,
                                            HttpMethod = "GET"
                                        },
                                                new
                                                {
                                                    id = "LOCATION_NUMBER"})
    <div id="result"></div>
</body>
</html>

控制器:

public class HomeController : Controller
{
    public PartialViewResult ReleaseVersion(string LOCATION_NUMBER = "")
    {
        return PartialView("_ReleaseVersion");  //, model
    }
    public ActionResult IndexValid4()
    {
        var storeViewModel = new StoreViewModel { storeNbr = 5 };
        return View(storeViewModel);
    }

_relealeaseversion在共享文件夹中的部分视图:

release version partial view

最新更新