我正在开发一个简单的 MVC 应用程序。
我有主视图、部分视图和控制器。
这是我的主要视图
@model partitalViewTest.Models.Qset
@{
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Question</title>
</head>
<body>
<div class="transbox" style="height:inherit;">
@Html.Partial("CheckAnswer",Model.partialModel)
</div>
</body>
</html>
这是我的部分观点:
@model IEnumerable<partitalViewTest.Models.Qset>
@{
Layout = null;
}
<h2> </h2>
@foreach (var item in Model)
{
@item.currpos;
}
@* <input type="button" title="Delete" value="@item.qstuinList[item.currpos].AnsC ;" onclick="changeBtn(this); location.href='@Url.Action("CheckAnswer", "RazerQuestion", new { id = 'A' }) '" />*@
<input id="Button1" type="button" value="button" onclick="location.href='@Url.Action("CheckAnswer", "RazerQuestion", new { id = 'A' }) '" />
这是我的控制器:
public ActionResult CheckAnswer()
{
// Some Code
return PartialView(qustinb.partialModel);
}
这工作正常,但我的问题是部分视图返回而不包装主视图。
请帮我解决这个问题。
您的按钮单击正在执行以下操作:
location.href='@Url.Action("CheckAnswer", "RazerQuestion", new { id = 'A' }) '"
它将浏览器导航到部分页面。
我怀疑您想要发生的是将部分页面内容替换为更新的内容,而无需刷新浏览器或导航离开。
你可以用 JQuery 来做。
首先,给你一个 id:
<div id="content" class="transbox" style="height:inherit;">
@Html.Partial("CheckAnswer",Model.partialModel)
</div>
其次,执行类似于以下操作的操作来响应按钮单击(已删除错误检查):
function doWork(){
$.get('@Url.Action("CheckAnswer", "RazerQuestion", new { id = 'A' }'), function (data) {
$('#content').html(data);
});
}
最后,更改按钮来执行此操作:
<input id="Button1" type="button" value="button" onclick="doWork()" />
现在将:
- 单击按钮...
- 开火
doWork()
函数,这将...
- 向以下人员提出请求
CheckAnswer
行动,然后……
- 获取请求的内容,并替换
<div />
对结果感到满意
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)