本文介绍了如何根据“名称”加载第二部分父视图中第一部分的值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想根据_partialA中的 Name 值加载_partialB。我的方案中名称是按钮。
I want to load _partialB based on Name value from _partialA. The Name is button in my scenario.
我收到以下错误:
未捕获错误:无法在同一帧中加载XRegExp两次
Uncaught Error: can't load XRegExp twice in the same frame
控制器
public ActionResult ABC(string name="") { SDetails sDetails=new SDetails(); var model = new ClsA(); if(name=="") { name = sDetails.Rst().FirstOrDefault().Name; model.firsts = sDetails.Rst(); model.seconds = sDetails.Rs(name); } else { model.firsts = sDetails.Rst(); model.seconds = sDetails.Rs(name); } return View(model); }查看
@model Aplication.Models.ABC.ClsA <div id=myA> @{ Html.RenderPartial("_PartialA", Model.firsts); } </div> <div id=myB> @{ Html.RenderPartial("_PartialB", Model.seconds);} </div>_PartialA
_PartialA
@model IEnumerable<Aplication.Models.ABC.first> <table> <tr> <th>@Html.DisplayNameFor(m => m.Name)</th> <th>@Html.DisplayNameFor(m => m.Address)</th> </tr> @foreach (var item in Model) { <tr> <td> <button class="link" type="button" data- name="@item.name"> @Html.DisplayFor(modelItem => item.Name) </button> </td> <td> @Html.DisplayFor(modelItem => item.Address) </td> </tr> } </table>脚本
$('#myA').on('click', '.link', function () { debugger; var name= $(this).data("name"); var url = '@Url.Action("ABC", "ABC")?name=' + name; $('#myB').load(url); });推荐答案
您需要一个单独的方法只返回 _PartialB.cshtml
You need a separate method that returns just your _PartialB.cshtml
public PartialViewResult PartialB(string name) { List<first> model = sDetails.Rs(name); return PartialView("_PartialB", model); }并将脚本修改为
$('#myA').on('click', '.link', function () { var name= $(this).data("name"); var url = '@Url.Action("PartialB")'; // assumes its in the same controller $('#myB').load(url, { name: name }); });更多推荐
如何根据“名称”加载第二部分父视图中第一部分的值?
发布评论