加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET MVC3:部分视图和主视图之间的交互

发布时间:2020-12-15 23:52:52 所属栏目:asp.Net 来源:网络整理
导读:我有部分联系方式.目前索引视图显示联系人详细信息的此部分视图.部分视图内部有一个保存按钮,用于保存编辑的数据.保存编辑后的数据时会对年龄进行验证.这很好. 每当用户编辑年龄并保存时,我需要在主视图上显示相应的占星预测.我们如何实现它? public class
我有部分联系方式.目前索引视图显示联系人详细信息的此部分视图.部分视图内部有一个保存按钮,用于保存编辑的数据.保存编辑后的数据时会对年龄进行验证.这很好.

每当用户编辑年龄并保存时,我需要在主视图上显示相应的占星预测.我们如何实现它?

public class ContactEntity
{
    public int ContactID { get; set; }
    public string ContactName { get; set; }

    [Range(18,50,ErrorMessage = "Must be between 18 and 50")]
    public int ContactAge { get; set; }
}

public class AgeHoroscope
{
    public int Age { get; set; }
    public string HoroscopePrediction { get; set; }
}

//家庭控制器

namespace MYContactEditPartialViewTEST.Controllers
{
public class HomeController : Controller
{

    List<AgeHoroscope> horoList = new List<AgeHoroscope>()
    {
        new AgeHoroscope{Age=16,HoroscopePrediction="You are confused"},new AgeHoroscope{Age=26,HoroscopePrediction="You are very brilliant"},new AgeHoroscope{Age=27,HoroscopePrediction="You are practical"}
    };

    public ActionResult Index()
    {
        AgeHoroscope selectedHoro = horoList[1];
        return View(selectedHoro);
    }

  }
 }

//联系控制器

namespace MYContactEditPartialViewTEST.Controllers
{
public class ContactController : Controller
{

    public PartialViewResult MyContactDetailEdit()
    {
        Thread.Sleep(500);
        return PartialView(GetContact());
    }


    [HttpPost]
    public PartialViewResult MyContactDetailEdit(string conatcclick)
    {
        //Save to database
        Thread.Sleep(500);
        return PartialView(GetContact());
    }


    private ContactEntity GetContact()
    {
        ContactEntity contactEntity = new ContactEntity();
        contactEntity.ContactID = 1;
        contactEntity.ContactName = "Lijo";
        contactEntity.ContactAge = 26;
        return contactEntity;
    }

 }
}

//Index.cshtml

@model  MYContactEditPartialViewTEST.AgeHoroscope
@{
 ViewBag.Title = "Index";
}

<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript">       </script>



<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>

<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

<h2>
    Index</h2>

<div>
<a>Your age is <b>@Html.DisplayFor(x => x.Age) </b>and the prediction is <b>" @Html.DisplayFor(x => x.HoroscopePrediction)
    " </b></a>
<br />
 </div>
<div style="border: 3px solid Teal">
@Html.Action("MyContactDetailEdit","contact")
</div>

// MyContactDetailEdit.cshtml

@model  MYContactEditPartialViewTEST.ContactEntity


@using (Html.BeginForm())
{
@Html.ValidationSummary(true)

<h3>MyContactDetailEdit PARTIAL</h3>

<div>
@Html.HiddenFor(x => x.ContactID)
<br />
<div style="font-weight:bold"> 
    Name:
    <br />
</div>
@Html.DisplayFor(x => x.ContactName)
<br />
<br />
<div style="font-weight:bold">
    Age
    <br />
</div>
@Html.EditorFor(x => x.ContactAge)
@Html.ValidationMessageFor(model => model.ContactAge)
<br />
<br />
</div>

 <input type="submit" id="saveButton" value="Save" />

}

> ASP.Net MVC Passing multiple parameters to a view
> ASP.Net MVC 3 RC2,Partial Views Form Handling

解决方法

我想只使用jQuery做ajax post,然后直接更改父视图客户端

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读