我有一个带有 jqueryUI 选项卡的页面。我有 3 个标签。前两个选项卡有两个单独的表单 您可以提交一个或另一个,但不能同时提交。当您提交一个表单时,第三个选项卡会打开,其中包含来自回发的提交结果。我有点不确定我会怎么做?到目前为止,这是我的标签控件...
<script type="text/javascript">
$(function () {
$("#searchPatient").tabs();
});
</script>
<div id="searchPatient" style="display:inline; float:inherit">
<ul>
<li><a href="#searchByMRN">Search By MRN</a></li>
<li><a href="#searchByDemographics">Search By Demo</a></li>
<li><a href="#retTable">Return Table</a></li>
</ul>
@Html.Partial("_SearchByMRN")
@Html.Partial("_SearchByDemographic")
@Html.Partial("_RetTable")
</div>
如您所见,我的设置很简单。这些 Partial 调用中的每一个都有部分视图,其中包含选项卡的 div。我猜在这个页面上的脚本中,我需要禁用传统的提交功能,而只显示第三个选项卡(retTable)。不确定我需要寻找什么活动?关于如何开始这方面的任何想法?有类似的例子吗?
更新:下午好,先生。这个选项卡控件工作得很好,但我正在尝试扩展它......我想将 JSON 数据发送回 retTable,并在最后一个选项卡中附加一个表......我想如果我改变我的 Controller 方法以返回 JSON回到页面...
public ActionResult SearchByMRN(SearchByMRNModel searchByMRN)
{
//Have to flesh this out more... Will return JSON result set back to SearchPatient View
//Can pull right out of old project... Shouldn't be a major problem...
//ImportPopulationManagementDLL's
string UID = HttpContext.User.Identity.Name;
DataRepository dr = new DataRepository();
List<SelectListItem> retVal = dr.SearchByMRN(searchByMRN, UID);
return Json(DataRepository.searchPatientJSonStr(retVal), JsonRequestBehavior.AllowGet);// PartialView("_RetTable");
}
我在渲染的原始视图中有这个脚本(调用 .tabs() 函数的那个
<script type="text/javascript">
$(function () {
$("#searchPatient").tabs();
});
function switchToResultTab(data) {
$('a[href="#retTable"]').click();
debugger;
$("#list").setGridParam({
datatype: 'jsonstring',
datastr: data,
caption: 'Patient Search Result'
}).trigger("reloadGrid");
}
function failToTab(data) {
alert("");
$("list").setGridParam({
datatype:'jsonstring',
caption: 'Patient Search Result',
datastr:data
}).trigger("reloadGrid");
}
</script>
我认为这会很简单,但不知何故,ajax 函数只是一直要求我保存 JSON 文件......我觉得这只是一个痛苦。另外,在调用 Ajax.BeginForm 时,您将如何获得加载 gif... 我敢打赌有一个加载字段。让我仔细检查...