如何解决尝试调用三个PartialViewResult Action方法,这些方法包含[AjaxChildActionOnly]属性,但只有一个称为
您好,我遇到了一个场景,即我在页面中使用多个局部视图,该页面的动作方法将从jquery ajax调用。但是在我的情况下,当我引用How to call MVC ChildActionOnly Controller Action using jQuery时。此示例的partialviewResult动作方法之一称为来自jQuery,但在其他partialviewResult中实现了相同的属性,但在第一个子操作“ gridtbl”被称为表格形成并通过数据绑定的情况下,我没有得到该操作的调用,但是在单击其中某一行的按钮时应调用“ RaiseBill”方法,但没有发生。 表绑定中的值像这样,按钮为“ btnrowvalue1”。
<table id="ipcelltbl" class="table" Cssclass="gvv table table-striped table-bordered">
<thead>
<tr>
<th>Raise Bill</th>
<th>Close Bill</th>
<th>Case ID</th>
<th>Description</th>
<th>No of Bills</th>
<th>Total Amount</th>
@*<th>Money Paid</th>*@
<th>Status</th>
<th>Created On</th>
<th>Closed On</th>
</tr>
</thead>
<tbody>
@foreach (var d in Model)
{
var hid = "hide" + Convert.ToString(d.CaseId);
<tr class="">
<td><input type="button" name="rbrbill" value="Raise Bill" class="btnrowvalue1" /> </td>
<td><input type="checkbox" id="@hid" class="Chkb" name="Chkb" /></td>
<td><input type="text" value="@d.CaseId" class="CaseId" name="CaseId" /></td>
<td><input type="text" value="@d.Descripton" class="Desc" name="Desc" /></td>
<td><input type="text" value="@d.NoOfBill" class="NBill" name="NBill" /></td>
<td><input type="text" value="@d.TotalAmount" class="TAmnt" name="TAmnt" /></td>
<td><input type="text" value="@d.Status" class="Stat" name="Stat" /></td>
<td><input type="text" value="@d.CreatedOn" class="Cron" name="Cron" /></td>
<td><input type="text" value="@d.ClosedOn" class="Clon" name="Clon" /></td>
<td><input type="button" style="margin-left:2%;" value="Close Case" class="btnrowvalue2" /></td>
</tr>
}
<!--<tr>
@*<td>
@for (int i = 1; i <= Math.Abs(Convert.ToDouble(ViewBag.pagecnt) / 1); i++)
{
@Html.ActionLink(i.ToString(),"Ipcell",new { id = i })
}
@*<input type="button" style="margin-left:2%;display:none;" value="Close Case" class="btnrowvalue2" />*@
@*</td>*@
@*</tr>*@ -->
</tbody>
例如儿童动作方法
public class AjaxChildActionOnlyAttribute : ActionMethodSelectorAttribute
{
public override bool IsValidForRequest(ControllerContext controllerContext,System.Reflection.MethodInfo methodInfo)
{
return controllerContext.RequestContext.HttpContext.Request.IsAjaxRequest() || controllerContext.IsChildAction;
}
}
[AjaxChildActionOnly]
public PartialViewResult gridtbl(List<Ipcell> fieldval)
{
return PartialView("gridtbl",result);
}
public PartialViewResult RaiseBill(List<Ipcell> casedetail1)
{
}
public ActionResult CreateNewCase()
{
return PartialView("CreateNewCase");
}
第一个方法由jquery ajax调用,其他方法则不被称为“我应该怎么做”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。